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 :

Récupéré les codes ID des menus et barres-outils


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Travailleur social
    Inscrit en
    Février 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Travailleur social
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 134
    Points : 70
    Points
    70
    Par défaut Récupéré les codes ID des menus et barres-outils
    Bonjour le forum

    J'ai vu il y a quelques mois une macro qui revoyait les codes ID des menus et des barres outils.

    Au résultat sur une feuille donnait à peu près ça :

    &Fichier 30002
    &Edition 30003
    &Affichage 30004
    &Insertion 30005

    etc

    Je l'ai perdu suite à un malheureux delete, quelqu'un l'aurait-il en stock ?


    Merci d'avance

  2. #2
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Voir cette discussion :
    http://www.developpez.net/forums/m3498379-11/

    le code à fring ou le mien

  3. #3
    Membre régulier
    Homme Profil pro
    Travailleur social
    Inscrit en
    Février 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Travailleur social
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 134
    Points : 70
    Points
    70
    Par défaut
    Salut JackOuYA, Re le forum,

    J'ai copié ton code dans un module et lancé la macro, il nes se passe malheureusement rien ! Aucune liste n'est générée.

    Manque t'il quelque chose ?

    A++

  4. #4
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Tu est sur que rien ne se passse ..? regarde l'un de tes menu contextuel ..? si tu n'y retrouve pas le lien "<<>>"

  5. #5
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Tu as posé la question il y a 4 jours (ce n'est pas quelques mois...) sur un autre forum (1er mauvais point ) et la réponse t'a été donnée mais si tu ne prends pas la peine de la lire cela n'est pas très sympa pour celui qui a pris sur son temps pour te répondre (2ème mauvais point )

    La réponse de tototiti2008 était celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub IDMenu()
    Dim C As CommandBarControl
    For Each C In CommandBars("Worksheet Menu Bar").Controls
    MsgBox C.Caption & "-" & C.ID
    Next C
    End Sub

  6. #6
    Membre régulier
    Homme Profil pro
    Travailleur social
    Inscrit en
    Février 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Travailleur social
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 134
    Points : 70
    Points
    70
    Par défaut
    Salut fring Re tout le monde

    J'ai effectivement posé la question il y a 4 jours sur un autre forum. Mais la macro qui génère la liste je l'ai effectivement perdue il y a deux mois et demi.

    La réponse de tototiti2008 fonctionne et je l'ai appréciée, elle ne génère pas de liste mais uniquement des msgbox. Pas très évident quand on sait qu'il y a plusieurs centaines d'ID.

  7. #7
    Membre régulier
    Homme Profil pro
    Travailleur social
    Inscrit en
    Février 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Travailleur social
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 134
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par JackOuYA Voir le message
    Tu est sur que rien ne se passse ..? regarde l'un de tes menu contextuel ..? si tu n'y retrouve pas le lien "<<>>"
    Re JackOuYA

    J'ai fais tous mes menus, je ne trouve pas "<<>>" .

    Ma version Excel 2000 est peut-être trop ancienne ?

    A++

  8. #8
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par olivepao Voir le message
    La réponse de tototiti2008 fonctionne et je l'ai appréciée
    C'est pas à moi que tu dois dire cela, la moindre des politesses aurait été de lui répondre non ?
    Citation Envoyé par olivepao Voir le message
    elle ne génère pas de liste mais uniquement des msgbox. Pas très évident quand on sait qu'il y a plusieurs centaines d'ID.
    Il suffit d'envoyer les résultats dans une feuille, dans une listbox, dans un fichier texte, dans...ce que tu veux.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub IDMenu()
    Dim C As CommandBarControl
    For Each C In CommandBars("Worksheet Menu Bar").Controls
    Debug.Print C.Caption & "-" & C.ID
    Next C
    End Sub
    Faire Ctrl+G dans l'éditeur de macro pour voir le résultat

  9. #9
    Membre régulier
    Homme Profil pro
    Travailleur social
    Inscrit en
    Février 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Travailleur social
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 134
    Points : 70
    Points
    70
    Par défaut
    Re Fring


    Merci d'avoir compléter la réponse de tototiti2008 !

  10. #10
    Membre régulier
    Homme Profil pro
    Travailleur social
    Inscrit en
    Février 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Travailleur social
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 134
    Points : 70
    Points
    70
    Par défaut
    Re tout le monde


    Après 2 jours de recherches, j'ai enfin retrouver la macro

    La voici pour tout le monde.

    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
    Sub FindControlID()
     
     Dim B As Object, Nb As Integer
     Nb = Application.CommandBars.Count
     [A1].Resize(, 2).Value = Array("Caption", "ID")
     
     For X = 1 To Nb
     For Each B In Application.CommandBars.Item(X).Controls
     With [A65536].End(xlUp).Offset(1)
     .Value = B.Caption
     .Offset(, 1).Value = B.ID
     End With
     Next
     Next
     Range("A1:B1").EntireColumn.AutoFit
     Set a = Nothing: Set B = Nothing
     End Sub
    A++

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

Discussions similaires

  1. Réponses: 29
    Dernier message: 13/08/2013, 09h03
  2. [Article] Les commandes intégrées des menus
    Par Domi2 dans le forum Access
    Réponses: 7
    Dernier message: 10/10/2010, 12h10
  3. Réponses: 0
    Dernier message: 08/04/2010, 13h57
  4. Petit utilitaire pour retrouver les codes ascii des fontes
    Par ProgElecT dans le forum Vos contributions VB6
    Réponses: 0
    Dernier message: 26/07/2007, 22h52

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