Bonsoir le fil, bonsoir le forum,
Comme l'indique Ériiic, il manque un s à la ligne 20 :
col = .Rows("2:2").Find(m, lookat:=xlWhole).Column + j - 1
Mais ce n'est pas tout...
• D'abord la déclaration des variables est incorrecte. Tu peux déclarer plusieurs variable dans la même ligne mais à condition de leur affecter un type à chacune d'entre elles. Sinon elles prendront le type Variant par défaut qui est le type le plus gourmand en mémoire.
Dim mois, an, dte, m, i, j, col, f
devrait plutôt être :
Dim mois As String, an As Integer, dte As Date, m As String, i As Byte, j As Byte, col As Byte
la variable f n'étant définie nulle part je l'ai supprimée..
• Ensuite la variable lna est défine par : lna = Array(4, 47)
donc c'est un tableau de deux données lna(0) = 4 et lna(1) = 47
or tu boucles For K = 0 to 5 avec ensuite une seconde boucle For i = lna(k) To lna(k) + 22
Quand k = 2 il y a forcément planton puisque lna(2) n'existe pas...
Plus loin dans le code tu utilises aussi lnb(k) et lnc(k) qui vont poser le même problème puisque leur limite supérieure (Ubound) est 1...
Code à revoir donc mais il faudrait peut-être que tu en parles à Gmb puisque c'est lui qui a conçu le code...