Erreur sur sheets (onglet).range(activate)

Pourquoi dans certaines macros Sheets(onglet).Range("A1").Select provoque une erreur ?

VBA s'obstine désespérément à refuser d'exécuter ta ligne Sheets(onglet).Range("A1").Select . Mais en fait elle est inutile. Il te suffit de travailler sur chaque feuille sans y aller :

For Each onglet In Array("1", "2", "3") 
 With Sheets(onglet)    
If .Range("A1").Value <> "" Then    
 .Range("A1").CurrentRegion.ClearContents    
End If 
 End With 
 Next onglet   

Avant de sélectionner une plage dans une feuille, il faut activer la feuille.

 For Each onglet In Array("1", "2", "3") 
 Sheets(onglet).Activate  
Sheets(onglet).Range("A1").Select    

Et on peut quand même le faire en une seule ligne si on veut vraiment sélectionner, avec Application.Goto Sheets("Feuil1").Range("A1") sans avoir activé la feuille auparavant.

Auteurs : ,

Mots clefs associés à cette page : , , , ,