Si les modifications apportées aux menus contextuels ne doivent être disponibles que dans un seul fichier, tous les menus contextuels concernés doivent être réinitialisés lors du passage à d’autres classeurs. L’événement Workbook_Deactivate dans le module de classe ThisWorkbook, qui exécute automatiquement le code stocké lorsqu’un autre classeur est activé, convient à cela.
Private Sub Workbook_Deactivate () ' Réinitialiser tous les menus contextuels ReinitialiserMenusContextuels End Sub
Public Sub ReinitialiserMenusContextuels () Dim cmb As CommandBar For Each cmb In Application.CommandBars ' Vérifier si la barre de commandes est un menu contextuel If cmb.Type = msoBarTypePopup Then ' Vérifiez si le menu contextuel est intégré If cmb.BuiltIn = True Then ' réinitialiser le menu contextuel intégré cmb.Reset ' Activer le menu contextuel personnalisé cmb.Enabled = True End If End If Next cmb End Sub
Parfait.
Merci pour cette diffusion