Ca a l'air de fonctionner mais parfois ça m'efface la ligne 3 Je ne sais pas pourquoi.
Probablement que cela se passe lorsque vous n'avez pas de données dans la feuille. Sinon expliquez moi ce que vous avez sur votre feuille à ce moment là
essayez en remplaçant cette ligne
.Range(.Cells(4, 1), .Cells(dlg, dcl)).ClearContents
par ceci
If dlg > 3 Then .Range(.Cells(4, 1), .Cells(dlg, dcl)).ClearContents
Supprimer au lieu de seulement effacer serait vraiment parfait !
C'est à dire ?