Déterminer les menus contextuels, Excel VBA

La procédure suivante répertorie toutes les menus contextuels intégrés et personnalisées dans la feuille de calcul MenusContextuels du fichier d’exemple. Dans la boucle For…Each, la liste CommandBars est vérifiée pour les menus contextuels dans une requête If et les résultats sont répertoriés dans la feuille de calcul.

Public Sub ObtenirMenusContextuels()
Dim cmb As CommandBar
Dim lngLine As Long
Application.ScreenUpdating = False
lngLine = 1
With Worksheets("MenusContextuels")
' supprimer les anciennes valeurs
.Columns("A:E").ClearContents
' Modifier le titre
.Range("A1:E1").Value = Array("Indice", "ID", "Nom", _
"Nom local", "Intégrer")
For Each cmb In Application.CommandBars
If cmb.Type = msoBarTypePopup Then
' Vérifier si la barre de commandes est un menu contextuel
lngLine = lngLine + 1
.Cells(lngLine, 1) = cmb.Index
.Cells(lngLine, 2) = cmb.ID
.Cells(lngLine, 3) = cmb.Name
.Cells(lngLine, 4) = cmb.NameLocal
.Cells(lngLine, 5) = cmb.BuiltIn
.Cells(lngLine, 5) = cmb.BuiltIn
End If
Next cmb
End With
Application.ScreenUpdating = True
End Sub

Commentaires

La propriété index vous indique le numéro d’index.

Excel connaît deux noms pour chaque barre de commandes. Pour une barre de commandes intégrée, la propriété Name renvoie le nom anglais américain du menu contextuel.

Utilisez la propriété NameLocal pour obtenir le nom traduit. Le nom local d’un menu contextuel est imprimé dans l’info-bulle de chaque élément de bouton avant le nom de la procédure.

La propriété BuiltIn renvoie une valeur booléenne indiquant si la barre de commandes est intégrée ou personnalisée. Vrai signifie intégré. Faux sinon.

 

 

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x