VBA: Erreur d'exécution '1004'. La méthode de l'objet Worksheet a echoué.

  • Initiateur de la discussion Initiateur de la discussion didaa
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

didaa

XLDnaute Nouveau
Bonjour à tous,

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?

Merci d'avance.
 
Re : VBA: Erreur d'exécution '1004'. La méthode de l'objet Worksheet a echoué.

Re bonjour à tous,

Petite rectification: le message d'erreur est le suivant:
Erreur d'exécution '1004'. La méthode 'Select' de l'objet Worksheet a echoué.

Encore une fois merci pour votre aide.
 
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

Bonne journée
 
Re : VBA: Erreur d'exécution '1004'. La méthode de l'objet Worksheet a echoué.

Pas bête ton idée bhbh.
Je viens de l'essayer cela ne marche pas, il y a toujours le même message d'erreur au niveau de "Sht.Select Replace:=False".
 
Re : VBA: Erreur d'exécution '1004'. La méthode de l'objet Worksheet a echoué.

Re-,

Ben ma boule de cristal vient de se tarir....

Si tu pouvais joindre ton fichier réel...(tu effaces toutes les données des onglets, même les masqués....), avec tous les onglets présents

Et tu l'envoies sur le forum
 
Re : VBA: Erreur d'exécution '1004'. La méthode de l'objet Worksheet a echoué.

Re-,

Mon intuition était bonne, c'est la solution proposée qui l'était un peu moins....

tu as 2 onglets en VeryHidden, donc il fallait préciser :

Code:
If Sht.Visible = xlSheetVisible Then Sht.Select Replace:=False

Et voilou...
 
Re : VBA: Erreur d'exécution '1004'. La méthode de l'objet Worksheet a echoué.

Ca marche parfaitement! UN GRAND MERCI A TOI BHBH!!

J'ai juste deux petite question encore: Comment fais tu pour faire passer une feuille en veryhidden et comment tu la démasques?

Encore une fois un grand merci!
 
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

Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour