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 :

Liste des feuilles non masquées en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 53
    Par défaut Liste des feuilles non masquées en VBA
    Bonjour

    j'ai le code suivant

    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
    Public Sub CreationMenuDynamique(ctl As IRibbonControl, ByRef content)
        'ouverture de la balise menu
     
        content = "<menu xmlns=""http://schemas.microsoft.com/office/2006/01/customui"">"
     
     
     
     
        'liste les feuilles de calcul du classeur actif
     
        content = content & ListeFeuilles(ActiveWorkbook)
     
     
        'liste les feuilles graphiques du classeur actif
        content = content & ListeCharts(ActiveWorkbook)
     
        'fermeture de la balise
        content = content & "</menu>"
    End Sub
    Ce code sert à lister les feuilles de mon classeur dans un menu du ruban créé avec Custom UI Editor.

    J'ai une feuille masquée qui contient des données et que je ne souhaite voir dans cette liste, comment faire ?

    Ma feuille est masquée et donc inaccessible même en étant listé dans le menu, mais pour faire plus propre je souhaite qu'elle ne soit pas listé.

    Merci

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Il serait sans doute plus facile de faire ce filtre au niveau de la fonction ListeFeuilles.
    Peux-tu afficher son code ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 53
    Par défaut
    bonjour

    voici le code de création de mon menu

    Code XML : 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
    <ribbon startFromScratch="false">
     
        <tabs>
            <tab id="Ongletperso" label="Tournois">
     
                <group id="GR01" label="Menu">
     
     
    	      <!-- crée le bouton sauvegarde--> 
    		<button id="BtPerso01" onAction="Sauvegarde"
    		label="Sauvegarde" keytip="DVP" 
    		supertip="Ce bouton possède
    un raccourci clavier : DVP"
    		size="normal"/>
     
                <!-- crée un bouton coipe horaire --> 
    		<button id="BtPerso02" onAction="Copie"
    		label="Faire une copie horaire" keytip="DVP" 
    		supertip="Ce bouton possède
    un raccourci clavier : DVP"
    		size="normal"/>
     
     
    		<!-- crée un bouton effacement --> 
    		<button id="BtPerso03" onAction="Effacement"
    		label="Effacement des données" keytip="DVP" 
    		supertip="Ce bouton possède
    un raccourci clavier : DVP"
    		size="normal"/>
     
                <!-- crée un bouton quitte --> 
    		<button id="BtPerso04" onAction="Quitter"
    		label="Quitter" keytip="DVP" 
    		supertip="Ce bouton possède
    un raccourci clavier : DVP"
    		size="normal"/>
     
                <!-- crée un séparateur vertical --> 
    		<separator id="Sep01"/>
     
    		<!-- crée la liste des feuilles --> 
     
    		<dynamicMenu id="ListeDynamique"
                label="Liste feuilles"
                getContent="CreationMenuDynamique"
                invalidateContentOnDrop="true"
                size="normal"
                imageMso="PrintTitles"/>
     
                </group>
     
            </tab> 
     
        </tabs>
     
     
     
     
     
    </ribbon>
    </customUI>

    La partie spécifique à la liste des feuilles

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <!-- crée la liste des feuilles --> 
     
    		<dynamicMenu id="ListeDynamique"
                label="Liste feuilles"
                getContent="CreationMenuDynamique"
                invalidateContentOnDrop="true"
                size="normal"
                imageMso="PrintTitles"/>

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Je voulais parler de la fonction ListeFeuille, celle qui est appelée en ligne 11 de ton code.

  5. #5
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 53
    Par défaut
    OUPS désolé


    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
    Private Function ListeFeuilles(Wb As Workbook) As String
        Dim strTemp As String
        Dim Ws As Worksheet
     
        ' Insertion d'un titre de menu
        strTemp = "<menuSeparator id=""Feuilles"" title=""Feuilles""/>"
     
        ' ajoute un bouton dans le menu pour chaque feuille du classeur
        For Each Ws In Wb.Worksheets
            strTemp = strTemp & _
                "<button " & _
                CreationAttribut("id", "Bt" & Ws.Name) & " " & _
                CreationAttribut("label", Ws.Name) & " " & _
                CreationAttribut("tag", Ws.Name) & " " & _
                CreationAttribut("onAction", "ActivationFeuille") & "/>"
        Next
     
        ListeFeuilles = strTemp
    End Function

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Remplace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each Ws In Wb.Worksheets
     
        [...]
     
    Next
    Par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For Each Ws In Wb.Worksheets
        If Ws.Visible = xlSheetVisible Then
     
            [...]
     
        End If
    Next Ws
    Lire ça : https://msdn.microsoft.com/fr-fr/lib...6(v=office.15)

  7. #7
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 53
    Par défaut
    Merci

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/09/2008, 16h04
  2. Somme des cellules non vides en VBA
    Par baldg dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/03/2008, 01h44
  3. Bouton "liste des champs" non actif
    Par emilie31 dans le forum Access
    Réponses: 5
    Dernier message: 25/01/2007, 22h44
  4. [VBA-E] liste des feuilles
    Par repié dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 17/02/2006, 18h27
  5. Obtenir la liste des feuilles d'un fichier Excel
    Par Jean Bonnisme dans le forum Access
    Réponses: 3
    Dernier message: 15/10/2004, 11h53

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