Déclarations de variable groupe d'onglets

Messages postés
6
Date d'inscription
vendredi 9 août 2019
Statut
Membre
Dernière intervention
9 août 2019
- - Dernière réponse : f894009
Messages postés
14678
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 août 2019
- 9 août 2019 à 15:34
Bonsoir à tous,

Je cherche à créer un nom de variable réutilisable par la suite (afficher des groupes d'onglets ou les masquer). J'ai donc créer une variable et je cherche à la définir en sélectionnant le groupe d'onglets dont j'ai besoin.
J'ai alors le message :
qualificateur incorrect

Mon code (qui a mon avis,LOL, doit être mal écrit) :

Sub onglets_Groupe1()
Dim Groupe1 As Integer
Dim Groupe2 As Integer

Dim sh As Object

Groupe1 = Sheets(Array("Sommaire (4)", "Mains(4)", "Pieds (4)", _
"Doigts (4)"))

Groupe2 = Sheets(Array("Sommaire (3)", "Mains (3)", "Pieds (3)", _
"Doigts (3)"))

For Each sh In ThisWorkbook.Worksheets
With sh.Visible = False
End With
Next

Set Groupe1.Visible = True


End Sub

Merci par avance pour le coup de main
Benoit
Afficher la suite 

1 réponse

Messages postés
14678
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 août 2019
1164
0
Merci
Bonjour,
Toutes les feuilles du groupe doivent etre visibles pour masquer le groupe.
Sub Manip_Feuilles()
    Groupe1 = Array("Feuil1", "Feuil2", "Feuil3", "Feuil4")
    'affiche
    For n = 0 To UBound(Groupe1)
        Sheets(Groupe1(n)).Visible = True
    Next n
   'masque
    Sheets(Groupe1).Select
    Sheets(Groupe1).Visible = False
    'affiche
    For n = 0 To UBound(Groupe1)
        Sheets(Groupe1(n)).Visible = True
    Next n
End Sub
Benoit69005
Messages postés
6
Date d'inscription
vendredi 9 août 2019
Statut
Membre
Dernière intervention
9 août 2019
-
J'ai copier/coller tout votre code.
f894009
Messages postés
14678
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 août 2019
1164 -
Re,

Vous pouvez mettre votre fichier, avec le code, a dispo sans donnees confidentielles

site de partage: https://mon-partage.fr/
Benoit69005
Messages postés
6
Date d'inscription
vendredi 9 août 2019
Statut
Membre
Dernière intervention
9 août 2019
-
Re,

https://mon-partage.fr/f/rrxtQF5G/

Bon j'ai trouvé mon erreur, et du coup j'ai avancé. Merci déjà pour cela. C'est trop génial.
Maintenant dans Sommaire Général vous verrez 3 boutons :
Benoit
Paul
Admins Only

Benoit et Paul sont votre macro un peu améliorée. Dites moi si cela convient (ça marche pour l'instant).
Quand on est sur la feuille "Benoit" ou "Paul", il y a un bouton pour retourner au sommaire général. C'est là que maintenant j'ai le problème.

Merci pour votre aide
Benoit69005
Messages postés
6
Date d'inscription
vendredi 9 août 2019
Statut
Membre
Dernière intervention
9 août 2019
-
Et donc en vous envoyant la question, j'ai essayé :
Sub Sommaire_Général()
Dim Benoit As Variant
Dim Paul As Variant
Dim n As Integer


Benoit = Array("Benoit", "Pieds 1", "Doigts 1", "Mains 1")
Paul = Array("Paul", "Pieds 2", "Doigts 2", "Mains 2")
'affiche
For n = 0 To UBound(Benoit)
Sheets(Benoit(n)).Visible = True
Next n

For n = 0 To UBound(Paul)
Sheets(Paul(n)).Visible = True
Next n

Sheets(Paul).Select
Sheets(Paul).Visible = False

Sheets(Benoit).Select
Sheets(Benoit).Visible = False

Sheets("Sommaire Général").Visible = True
Sheets("Listes Feuilles").Visible = False

Sheets("Sommaire Général").Select

End Sub

Pour affecter aux boutons de retour au sommaire, et cela fonctionne.

Si vous voyez des axes d'améliorations je suis preneur.

Merci pour le lancement
"Sur CCM, une aide sera toujours apportée à ceux qui le demande" comme dirait ce bon vieux Dumbledore
f894009
Messages postés
14678
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 août 2019
1164 -
Re,
Je recupere le fichier et regarde la chose


Fichier modifie y compris le code de ce matin (vous verrez).
https://mon-partage.fr/f/DAZa6FPg/

Quelle difference entre Etat_Initial et Tous_Onglets!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Commenter la réponse de f894009