Merci Hervé,
c'est exactement ce qu'il me fallait, néanmoins, il y a un petit hic, en effet, pour la première et troisième colonne, pas de soucis, par contre sur la deuxième, j'ai une cellule renseignée (montant HT) qui ne doit pas apparaitre dans ma liste, cette cellule sera toujours la dernière cellule renseignée de la colonne.
C'est pourquoi, je pensais qu'il fallait mieux travailler sur des Noms, en supposant que dans ma deuxième colonne je définisse comme Nom 'Libellé' en référence aux cellules B3:B25, sachant comme je l'ai déja dis, que ma plage 'libellé' s'actualisera si on insère des lignes entre, n'est-il pas possible de remplacer dans ton code :
For j = 3 To .Cells(65536, i).End(xlUp).Row
Par un for each cell in range('Libellé').....quelque chose comme ça mais peut-être n'est-ce pas possible.
Merci