J'essaye de faire une macro qui me sélectionnerait tout les onglet d'un classeur excel sauf certains.Voici le code que j'ai tapé:
Dim Sht As Worksheet
For Each Sht In ActiveWorkbook.Sheets
If Sht.Name <> "ANNEE N" And Sht.Name <> "ANNEE N-1" And Sht.Name <> "CONTROLE" Then
Sht.Select Replace:=False
End If
Next Sht
Le problème c'est qu'il y a un bug sur la ligne "Sht.Select Replace:=False" : Erreur d'exécution '1004'. La méthode de l'objet Worksheet a echoué.
Le plus "bizarre" c'est que cette macro marche lorsque je l'essaye sur d'autres classeur Excel, mais pas sur celui pour lequel je l'ai créé!
Avez-vous une idée de ce qui pourrait en être la cause et une solution proposer?
Re : VBA: Erreur d'exécution '1004'. La méthode de l'objet Worksheet a echoué.
Bonjour,
Tu n'aurais pas des onglets masqués?
Essaie ainsi :
Code:
Dim Sht As Worksheet
For Each Sht In ActiveWorkbook.Sheets
If Sht.Name <> "ANNEE N" And Sht.Name <> "ANNEE N-1" And Sht.Name <> "CONTROLE" Then
If Sht.Visible Then Sht.Select Replace:=False
End If
Next Sht
Re : VBA: Erreur d'exécution '1004'. La méthode de l'objet Worksheet a echoué.
Re-,
La propriété en XlVeryHidden ne peut s'obtenir que par Macro, ou via l'interface VBE (Visual Basic Editor)
Pour ouvrir le VBE, tu fais Alt + F11 (mais ça, tu le savais déjà...)
Tu cliques sur le nom de l'onglet, à gauche, dans le Projet
Puis tu appuies sur F4 pour obtenir les propriétés de l'onglet
Dans la dernière propriété ("Visible"), tu as un menu déroulant....
Sinon, par code, tu mets ceci :
Code:
Sheets("Feuil1").Visible = xlSheetVisible 'visible
Sheets("Feuil1").Visible = xlSheetHidden 'masquée, mais on peut démasquer par la barre de menus
Sheets("Feuil1").Visible = xlSheetVeryHidden 'masquée, on ne peut démasquer que par code ou via VBE