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 :

Afficher/Cacher des onglets sous certaines conditions


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Octobre 2018
    Messages : 9
    Par défaut Afficher/Cacher des onglets sous certaines conditions
    Bonjour,

    Désolé de faire encore appel à vous mais je sèche!

    J'ai un fichier qui possède plusieurs onglets
    J'aimerai que les onglets x et y soient tout le temps caché sauf quand on fait appel à eux à partir d'un bouton se trouvant sur un onglet "RECAP"
    Et donc sauf quand ces onglets sont actifs.

    J'ai réalisé le code suivant mais je ne sais pas d'ou l'appeler! Avez vous une idée? Merci!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub AffichageOnglet()
     
    Dim ws As Worksheet
     
    x = "Jalon Valid DE"
    y = "Jalon Valid concept"
     
     If ActiveSheet.Name <> x Or ActiveSheet.Name <> y Then
        For Each ws In ActiveWorkbook.Worksheets
     
            If ws.Name = x Or ws.Name = y Then
               Sheets(x).Visible = False
               Sheets(y).Visible = False
            Else
               ws.Visible = True
     
            End If
        Next ws
     
     End If
     
    End Sub

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Lorsqu'il s'agit de Masquer/Afficher des lignes, colonnes, feuilles, etc. , je préconise l'utilisation d'un bouton bascule (ToggleButton) soit ActveX soit formulaire.

    Exemple avec un bouton ActiveX nommé tglHideUnhide en utilisant la propriété CodeName de deux feuilles (shtSource et shtTarget)
    Code à copier dans le module de la feuille où l'on a placé le bouton.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub tglHideUnhide_Click()
      Dim msg()
      msg = Array("Afficher", "Cacher")
      With Me.tglHideUnhide
        .Caption = msg(Abs(.Value))
         shtTarget.Visible = .Value
         shtSource.Visible = .Value
      End With
    End Sub
    Pour savoir ce que c'est que le CodeName d'une feuille, à lire ce billet VBA – CodeName d’une feuille Excel

    [EDIT]
    Variante : Si l'on souhaite que les feuilles soient réellement cachées (Constante xlVeryHidden), il suffit d'additionner la valeur True ou False de 2 (lignes 6 & 7 ci-dessus)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        shtTarget.Visible = .Value + 2
        shtSource.Visible = .Value + 2
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Masquer des lignes sous certaines conditions
    Par Whismer0 dans le forum Excel
    Réponses: 7
    Dernier message: 11/06/2018, 14h05
  2. Masquer des lignes sous certaines conditions
    Par Banane54 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 16/12/2016, 16h18
  3. [XL-2013] Bloquer des cellules sous certaines conditions
    Par ElsaG dans le forum Excel
    Réponses: 8
    Dernier message: 23/04/2016, 21h41
  4. [MySQL] Binder des valeurs sous certaines conditions en POO
    Par andaman dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/07/2013, 19h11
  5. Réponses: 0
    Dernier message: 04/06/2008, 13h35

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