Bonjour
je pense qu'en remplaçant :
For i = .Range("H" & .Rows.Count).End(xlUp).Row To 2 Step -1
par
For i = .Range("H" & .Rows.Count).End(xlUp).Row To 14 Step -1
en effet tu par de la ligne 23, fin de ton tableau de données, pour remonter vers la ligne 2, tu dois arrêter l'exécution à la ligne 14.
Si j'ai bien compris ton pbl.
Cordia5