Hola!
Ante todo muchas gracias por contestarme, de verdad.
Mi empeño en escribir los datos directamente en el datagrid, y no con un formulario de entrada como me aconsejabais, es porque el usuario debe introducir 400 registros, y me parecía un poco engorroso presentarle 400 formularios de entrada.
Al final solucioné mi problema de otra forma distinta a la que me decias. Lo he hecho a través del evento del datadrid RowColChange. De todas formas, el ejemplo que me adjuntó J.M. Movilla me ha servido para mejorar detalles del mi programa.
Lo dicho chicos, muchas gracias por vuestra ayuda. Y si alguien tiene un problema parecido al mio, que me lo diga y le adjunto mi resolución.
Un saludo a todos.
Lola