Bonjour Parrish,
Ça c'est pour trouver la dernière ligne "pas bonne" (TOTAL GENERAL) du fichier et ... le -1 ... remonte une ligne au-dessus ...
Puis il y a cette bouche qui va remonter ligne par ligne tant que les lignes seront vides ...
Elle s'arrête quand elle trouve une ligne avec des données dans la colonne "D" ...
Si tu veux baisser d'une après la bouche ... ajoute "dl = dl + 1
comme dans l'exemple ci-bas ...
Do While ws.Cells(dl, "D") = "" ''''remonte pour trouver la 1re ligne non vide
dl = dl - 1
Loop
dl = dl + 1 '' << ajoute cette ligne pour descendre d'une ligne ...
ric