IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Naviguer entre les feuilles masquées d'un classeur avec des boutons de commande [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations forums :
    Inscription : Octobre 2007
    Messages : 223
    Par défaut Naviguer entre les feuilles masquées d'un classeur avec des boutons de commande
    Bonjour à tous.
    J’ai un classeur contenant 10 feuilles. Pour faciliter la navigation entre les feuilles masquées et visibles, j’utilise une feuille comme accueil dans laquelle j’ai inséré des boutons de commandes pour aller sur les différentes feuilles.
    Problème :
    Les feuilles masquées ne s’affichent pas quand je clique sur le bouton de commande correspondant
    Ce que je souhaite faire :
    Je voudrai masquer toutes les feuilles sauf la feuille « Accueil »
    Quand je clique sur un bouton de commande, je veux que la feuille soit visible, après l’avoir consulté, quand je change de feuille, qu’elle redevienne masquée.
    J’ai besoin de votre aide. Bon après midi à tous.

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Octobre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 24
    Par défaut
    utilise la propriété .visible pour la worksheet à utiliser

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    Evénement workbook_open : pour masquer tous les onglets sauf la feuil acceuil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Workbook_Open()
     Dim sh As Worksheet
     For Each sh In ThisWorkbook.Worksheets
      With sh
       If Not .Name = "Accueil " Then .Visible = False
      End With
     Next
    End Sub
    sur la feuil acceul pour aller à feuil2 comme exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub afficher()
    Sheets("Feuil2").Visible = True
    Sheets("Feuil2").Select
    End Sub
    pour masquer feuil2 et retour à l'acceuil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub retourAcceuil()
    ActiveSheet.Visible = False
    Sheets("Accueil").Select
    End Sub
    voila un petit exemple
    Fichiers attachés Fichiers attachés

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations forums :
    Inscription : Octobre 2007
    Messages : 223
    Par défaut
    Citation Envoyé par BENNASR Voir le message
    bonjour
    Evénement workbook_open : pour masquer tous les onglets sauf la feuil acceuil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Workbook_Open()
     Dim sh As Worksheet
     For Each sh In ThisWorkbook.Worksheets
      With sh
       If Not .Name = "Accueil " Then .Visible = False
      End With
     Next
    End Sub
    sur la feuil acceul pour aller à feuil2 comme exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub afficher()
    Sheets("Feuil2").Visible = True
    Sheets("Feuil2").Select
    End Sub
    pour masquer feuil2 et retour à l'acceuil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub retourAcceuil()
    ActiveSheet.Visible = False
    Sheets("Accueil").Select
    End Sub
    voila un petit exemple
    Ton code est parfait BENNASR. Je te remercie beaucoup.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations forums :
    Inscription : Octobre 2007
    Messages : 223
    Par défaut
    Citation Envoyé par jean_2940 Voir le message
    utilise la propriété .visible pour la worksheet à utiliser
    Là il n'y a pas de problème mais les feuilles masquées ne s'affichent pas quand je clique sur le bouton de commande approprié. C'est ce que je voudrai contourné et rétablir la propriété invisible quand je change de feuille. Merci pour ton aide.

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Octobre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 24
    Par défaut
    Citation Envoyé par Niagala Voir le message
    Là il n'y a pas de problème mais les feuilles masquées ne s'affichent pas quand je clique sur le bouton de commande approprié. C'est ce que je voudrai contourné et rétablir la propriété invisible quand je change de feuille. Merci pour ton aide.

    la propriété "invisble" n'existe pas mais comme BENNASR t'as tout écrit maintenant c'est plus clair.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Attention qu'avec Feuil1.Visible = False, tu laisses à l'utilisateur la possibilité d'afficher les feuilles par clic droit sur l'onglet "Accueil" puis Afficher.... Si tu souhaites qu'il ne puisse pas effectuer cela, tu dois utiliser la constante xlSheetVeryHidden au lieu de False pour masquer une feuille. Elle ne pourra alors pas être affichée via l'interface Excel.

    Il est plus intéressant d'utiliser les constantes prévues pour gérer une propriété, plutôt que d'utiliser des "faux amis" comme False ou True. Ton code sera plus explicite et tu découvriras de nouvelles possibilités. La saisie semi-automatique propose d'ailleurs les constantes utilisables, et il est souvent plus sage de les utiliser.

    • xlSheetVisible = -1 = True
    • xlSheetHidden = 0 = False
    • xlSheetVeryHidden = 2


    Nom : 2020-02-07_092313.png
Affichages : 601
Taille : 2,1 Ko
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations forums :
    Inscription : Octobre 2007
    Messages : 223
    Par défaut
    Bonjour à tous.

    Merci Pierre Fauconnier pour ces précisions.
    Je m'excuse de ce bref silence.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Distinguer entre les feuilles d'un classeur selon le choix de l'utilisateur
    Par sossso112333 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/07/2015, 19h13
  2. Réponses: 1
    Dernier message: 14/06/2013, 01h07
  3. [XL-2010] Menu excel pour naviguer entre les feuilles
    Par berdah_j dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/09/2012, 16h49
  4. [XL-2007] Macros VBA sous xls "export data entre les feuilles d'un même classeur"
    Par Cecinerock dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 25/05/2012, 16h48
  5. Réponses: 2
    Dernier message: 09/11/2006, 23h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo