Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 [RÉSOLU] Charger une macro dés l'ouverture d'Excel

  • Initiateur de la discussion Initiateur de la discussion Ortho92
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Ortho92

XLDnaute Nouveau
Bonjour,

Par une macro personnelle j'ai rajouté des commandes au menu contextuel "Cells".
Elle se nomme "MenuCell".
Je souhaite pouvoir l'utiliser sur tous mes classeurs.
Je la place dans "Private Sub Workbook_Open()" du module ThisWorkbook du classeur "Perso.xlsm" lui-même dans C:\Users\...\Excel\XLSTART\Perso.xlsm, qui s'ouvre en même temps que l'application Excel :

Private Sub Workbook_Open()

MenuCell

End Sub

Ca ne marche pas.
Or si je rajoute une ligne avec un simple MsgBox "Bonjour" ça marche !!!

Private Sub Workbook_Open()

MsgBox "Bonjour"
MenuCell

End Sub

J'utilise Excel 2016, au bureau, et ça marchait avec les versions précédentes.

Que puis-je faire pour que ça marche sans m'obliger à cliquer sur le msgbox à chaque ouverture ? Supplier la direction d'investir dans une version plus récente ???

Merci d'avance, et cordialement,
 
Bonjour.
J'ignore si c'est différent pour un menu contextuel, mais j'ai ajouté des commandes personnelles dans le ruban, et, pour les exécuter, je n'ai pas besoin de m'occuper de l'ouverture du classeur qui les contient, c'est automatique.
 
Bonjour à tous
Ceci peut-être
Pour lancer une macro à l'ouverture d'un classeur, celle-ci placée dans le fichier PERSONAL.XLSB
VB:
Private Sub Workbook_Open()
    Application.Run "PERSONAL.XLSB!NomDeTaMacro"
End Sub
 
Bonjour.
J'ignore si c'est différent pour un menu contextuel, mais j'ai ajouté des commandes personnelles dans le ruban, et, pour les exécuter, je n'ai pas besoin de m'occuper de l'ouverture du classeur qui les contient, c'est automatique.
Merci pour cette idée, mais comme mon problème concerne un menu contextuel, je préfèrerais y avoir accès par un clic droit.
Je garde la suggestion qui pourra être utile dans d'autres cas.
 
Salut,
Depuis Excel 2016, Microsoft a renforcé la gestion du menu contextuel et des CommandBars. Résultat :
Lors de l’événement Workbook_Open du classeur Perso.xlsm, l’interface Excel n’est pas encore complètement initialisée.
Les menus contextuels ne sont donc pas encore disponibles.
Quand tu appelles MenuCell, qui modifie CommandBars("Cell"), Excel ignore la commande sans message d’erreur.
En revanche, MsgBox fonctionne car il ne dépend pas de l’interface Excel.
le MsgBox force Excel à finir son initialisation avant d’exécuter la suite.
A essayer : utiliser Application.OnTime pour décaler l’exécution :
VB:
Private Sub Workbook_Open()
    Application.OnTime Now, "MenuCell"  
End Sub
si cela ne fonctionne pas essayer avec Now + TimeValue("00:00:01")
Nullosse
 
Bonjour,

Super ! Çà marche avec Application.OnTime Now, "MenuCell"

Merci beaucoup, et je me demande si tu ne devrais pas changer d'identifiant...

Une question posée à 12:19 et résolue à 13:30... Waou, désolé mais ce forum risque de me revoir !!!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

E
Réponses
6
Affichages
2 K
Emli15
E
C
Réponses
1
Affichages
2 K
Chalafraiz
C
T
Réponses
4
Affichages
1 K
thierry.bayard
T
A
Réponses
2
Affichages
2 K
AlainK
A
M
Réponses
9
Affichages
2 K
D
Réponses
12
Affichages
2 K
domi72
D
C
Réponses
7
Affichages
1 K
Chris
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…