Bonjour Flavien, le forum,
je crois que tu voulais juste ajouter une ligne sous la dernière ligne non vide d'un tableau ; si oui, c'est inutile d'insérer une ligne !
tu fais au départ cette initialisation : ligne = Range("A" & Rows.Count).End(xlUp).Row + 1
puis dans ta boucle d'écriture des lignes, tu utilises la valeur de ligne pour écrire tes données :
Cells(ligne, 1) = "M.": Cells(ligne, 2) = "Jean": Cells(ligne, 3) = "Dupond"
bien sûr, pour chaque nouvelle ligne à écrire en dessous : ligne = ligne + 1
tu pourrais mettre ligne = Range("A" & Rows.Count).End(xlUp).Row + 1 dans la boucle ;
dans ce cas, ligne = ligne + 1 doit être enlevé
mais la 1ère solution est plus rapide car elle évite de recalculer la dernière ligne à chaque fois
(je veux dire : à chaque tour de boucle).
dhany