Bonjour,
quand je suis sur la feuil1 et je lance la macro àa fonctionne, et quand je suis sur la feuil2 ça fonctionne mal.
Quand tu dis un phrase comme ça, ça veut dire qu'il faut préciser sur quelle feuille sont tes plages de cellules Range, car si tu ne le précises pas, ça prend les plages sur la feuille actuelle, c'est comme pour une formule dans la barre de formule, si tu écris B1 en Feuil1, ça mettra la valeur de B1 sur la Feuil1, si tu mets Feuil2!B1, ça renverra la cellule B1 de la Feuil2.
Pour ton code, c'est pareil
ton problème vient de la ligne:
a = Sheets("feuil1").Range("A2:E" & [a65000].End(xlUp).Row)
car tu veux faire une plage de cellule sur la feuille 1, mais tu utilise un range [a65000] sur lequel tu ne précises pas la feuille, du coup la ligne vient de la feuille 2, il faut par exemple écrire:
a = Sheets("feuil1").Range("A2:E" & Sheets("feuil1").Range("a" & rows.count).End(xlUp).Row)