Non, ce n’est pas tout à fait la même chose.
Quand la macro arrive pour la première fois à la ligne qui précède :
For i = 8 To Range("E8").End(xlDown).Row
Elle est en train de traiter la première colonne définie par la listbox soit, dans l’exemple, la colonne de janvier. La dernière ligne non vide de cette colonne est la ligne 49 .
Lorsque la macro passe pour la deuxième fois à cette même instruction, c’est pour n = 1 et dans l’exemple, elle est en train de traiter la colonne février. Mais comme la boucle de la colonne de janvier a masqué des lignes, elle va boucler seulement jusqu’à la ligne 49 car les autres sont masquées.
Il faut que à chaque boucle de mois, la macro prenne la dernière ligne du tableau complet c’est-à-dire derln et non pas la dernière ligne non masquée…
OK ?
Bye !