Bonjour,
Une petite explication en complément du code de mercatog.
Avec ton code, avant de copier le contenu des TextBox tu recherches le numéro de la ligne où sera effectué l’ajout.
iRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Cette recherche n’étant effectuée que dans la colonne 1, l’ajout se fait pour toutes les colonnes sur cette même ligne (iRow).
Si la dernière cellule renseignée de la colonne 1 est positionnée en retrait par rapport aux cellules renseignées des autres colonnes, tu écrases les anciennes données de ces colonnes.
Pour que les nouvelles données soient enregistrées systématiquement sur une nouvelle ligne ( en laissant un blanc si la TextBox correspondant à la cellule n’est pas renseignée), il faut déterminer le numéro de la dernière ligne de la plage utilisée (utilisation de la propriété UsedRange proposée par mercatog).
Remarque : pour que chaque nouvelle donnée soit enregistrée directement à la suite de la précédente, il faudrait que tu recherches la dernière cellule renseignée pour chacune des 5 colonnes.
Cordialement.
Partager