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 :

Masquer/Afficher des onglets [XL-2003]


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
    Mars 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 109
    Par défaut Masquer/Afficher des onglets
    Bonjour à tous,

    Je possède un fichier EXCEL avec plusieurs onglets.
    Je souhaiterais avoir une macro qui n'afficherait que les onglets contenant un certain intitulé et masquerait les autres.

    Je m'explique :
    Voici plusieurs onglets : "A-01" , "A-02" , "A-03" , "B-01" , ... "F-45"

    J'ai un menu déroulant contenant des valeurs de A à Z. Je souhaiterais en sélectionnant par exemple "B" que tout mes onglets se masquent et que seul ceux contenant "B" soit affiché.

    Es-ce possible à faire ?
    Je sais comment masquer/afficher des onglets par vba, mais je bloque sur la partie "recherche de caractère dans un l'onglet"

    Merci par avance de l'aide que vous pourrez m'apporter.
    Cordialement.

  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 176
    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 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ce que tu ne précises pas.
    La lettre en question se retrouve comme première lettre du nom de la feuille, se retrouve toujours sur la cellule RC de toutes le feuilles, est à chercher dans une cellule quelconque d'une feuille
    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

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 109
    Par défaut
    Effectivement mes noms d'onglets commencent tous par une lettre.

    J'ai une combobox dans un userform qui contient les lettres de A à Z.
    Grâce à cette lettre sélectionnée, je veux afficher les onglets de mon fichier qui commence effectivement par la lettre sélectionnée.
    (Si je sélectionne "B" dans mon menu déroulant je veux alors garder les onglets "B-01", "B-02", "B-03", etc... et masquer tout ceux que ne commence pas par "B".)
    Je veux donc filtrer par les noms des onglets.

  4. #4
    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 176
    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 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Voici un exemple de code à adapter
    Ici la lettre est le contenu de la cellule A2 de la feuille1 du classeur où se trouve le programme VBA mais il suffit d'utiliser la variable Lettre avec le UserForm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Dim sht As Worksheet
     Dim lettre As String
     lettre = UCase(ThisWorkbook.Worksheets("Feuil1").Range("A2"))
     For Each sht In ThisWorkbook.Worksheets
       If sht.Name <> "Feuil1" Then ' On passe Feuil1
        sht.Visible = (lettre = UCase(Left(sht.Name, 1)))
       End If
     Next
    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

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 109
    Par défaut
    Je viens d'essayer un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 To ActiveWorkbook.Sheets.Count
    If Sheets(i).Name Like "*B*" Then
    Sheets(i).Visible = True
    Else
    Sheets(i).Visible = False
    End If
    Next i
    Finalement ça marche parfaitement comme ça.
    Problème résolu.

    Edit : Remplacer par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Sheets(i).Name Like "*" & UserForm1.ComboBox1.Value & "*" Then

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

Discussions similaires

  1. [XL-2007] Choisir d'Afficher/Masquer des onglets + choisir d'imprimer ou non des onglets
    Par matsaunder dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/09/2014, 09h28
  2. Réponses: 9
    Dernier message: 12/03/2014, 21h28
  3. [XL-2003] Macro masquer/afficher des lignes et colonnes
    Par Estimea dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/03/2011, 17h18
  4. [XL-2007] Afficher et masquer des onglets
    Par Aliciaymilie dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/08/2010, 14h06
  5. Comment afficher des onglets de droite à gauche ?
    Par Dchin95 dans le forum Débuter
    Réponses: 2
    Dernier message: 26/07/2009, 14h47

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