Bonjour à tous,
le code proposé ne fonctionne pas car la détermination de la ligne "libre" colonne A est erronée
li = Range("a1").End(xlUp).Row + 1
à chaque itération de la boucle For i=... quelles que soient les cellules "occupées"
Range("a1") = on se positionne en A1
.End(xlUp) = on "remonte" vers la première ligne occupée (donc A1)
.Row = on renvoie le N° de ligne ( donc 1)
il faudrait utilisé l'instruction proposée par ric ou celle ci:
li = Range("A" & Rows.Count).End(xlUp).Row + 1
Range("A" & Rows.Count) = on se positionne sur la toute dernière ligne de la colonne A
.End(xlUp) = on remonte à la première ligne occupée (A1 en première itération, Ax à la seconde...)
A+