Bonjour,
dans aucune de tes macros tu n'indiques la feuille à utiliser.
Qu'est-ce qui te dit que ce sera la bonne qui est active ?
De plus les .select ralentissent et sont inutiles dans 99% des cas.
Ex, code avant :
Range("I3:I6").Select
Selection.ClearContents
Range("J3:N6").Select
Selection.Copy
après :
Sheets("Feuil1").Range("I3:I6").ClearContents
Sheets("Feuil1").Range("J3:N6").Copy
que tu peux alléger avec un with :
With Sheets("Feuil1")
.Range("I3:I6").ClearContents
.Range("J3:N6").Copy
End With
note que j'ai gardé le . devant Range, c'est ce qui indique a vba qu'il faut utiliser With Sheets("Feuil1")
Quand tu auras enlevé toutes les ambiguïtés de feuille il y aura déjà moins d'anomalies.
Sinon pour tes appels le call n'était pas indispensable mais c'est bien le principe.
eric