Bonsoir Hajjej, m3ellem1,
c'est très bien d'avoir indiqué la ligne où se produit l'erreur :
i = Application.WorksheetFunction.CountA(Sheet1.Range("A:A"))
si tu as un Excel français, tu devrais essayer :
i = Application.WorksheetFunction.CountA(Feuil1.Range("A:A"))
mais j'ai déjà vu un fichier où y'avait à la fois des feuilles Feuil1 et Sheet1.
note bien que ce qui précède est avec le .CodeName de la feuille, pas le .Name !
si tu veux référencer par le nom de feuille, tu dois écrire :
i = Application.WorksheetFunction.CountA(Worksheets("Feuil1").Range("A:A"))
et tu peux simplifier ainsi :
i = Application.WorksheetFunction.CountA(Worksheets("Feuil1").Columns("A"))
ou encore :
i = Application.WorksheetFunction.CountA(Worksheets("Feuil1").Columns(1))
petit complément :
ta variable a
n'est pas déclarée ➯ avec Option Explicit
, la compilation va bloquer !
met Option Explicit
au début du module, tout en haut (1× seulement) ; et dans ta sub :
Dim i As Long, a As Byte
ou Dim i&, a As Byte
dhany