Ordre d'exécution des macros complémentaires

Le
FdeCourt
Bonjour,

Comment définir l'ordre d'exécution des macros complémentaires ?
Dans la base de registre, les clé OPEN, OPEN1, OPEN2, etc.. ne me
permettent pas de modifier cet ordre.
La macro qui devait se lancer en dernier est dans la clé OPEN4, et
pourtant elle se lance en premier, alors que j'ai bien des clé OPEN,
OPEN1, OPEN2 et OPEN3, avec des macros qui sont valable.

La seule différence que je peux vois, c'est que les macro OPEN, OPEN1,
OPEN2 et OPEN3 ne sont pas dans le répertoire par défaut des macros
Excel.

Y a t'il une autre solution que de devoir déplacer ces macros ?

Merci pour votre aide

Cordialement,

F.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19535671
Bonjour FdeCourt,

Au lieu de nous proposer des solutions, pourquoi ne pas débuter par nous expliquer la
nature de ton problème ?



"FdeCourt"
Bonjour,

Comment définir l'ordre d'exécution des macros complémentaires ?
Dans la base de registre, les clé OPEN, OPEN1, OPEN2, etc..... ne me
permettent pas de modifier cet ordre.
La macro qui devait se lancer en dernier est dans la clé OPEN4, et
pourtant elle se lance en premier, alors que j'ai bien des clé OPEN,
OPEN1, OPEN2 et OPEN3, avec des macros qui sont valable.

La seule différence que je peux vois, c'est que les macro OPEN, OPEN1,
OPEN2 et OPEN3 ne sont pas dans le répertoire par défaut des macros
Excel.

Y a t'il une autre solution que de devoir déplacer ces macros ?

Merci pour votre aide

Cordialement,

F.
Fdecourt
Le #19539211
Bonjour MichDenis,

Justement, ce ne sont pas des solutions, puisqu'elles ne fonctionnent
pas ;)

Mon problème est qu'à mon XLA créé un menu, qui s'intègre dans le menu
d'un autre XLA (auquel je n'ai pas accès).
Pour éviter de créer deux fois le même menu, je test si le menu
précédent est créer, puis j'insère le miens.

Le problème est que le test d'existence du menu précédent est fait
avant que le menu soit créé.

Merci pour ton aide

Cordialement,

F.
MichDenis
Le #19540561
Explique un peu...

Un fichier de macros complémentaires qui crée un menu d'un autre fichier complémentaire
inaccessible... Pourquoi créer un menu qui est de toute façon inaccessible par son
interface de feuille de calcul ?

Décris un peu ton environnement...À quel moment se fait le chargement du fichier de macros
complémentaires inaccessibles ? À quel moment s'effectue le chargement de ton fichier de
macros complémentaires celui que tu peux accéder ?

Le menu créé par macro? C'est toute une barre de menu ? Un item du menu ?

Ne te gêne pas pour en donner de l'information ...




"Fdecourt"
Bonjour MichDenis,

Justement, ce ne sont pas des solutions, puisqu'elles ne fonctionnent
pas ;)

Mon problème est qu'à mon XLA créé un menu, qui s'intègre dans le menu
d'un autre XLA (auquel je n'ai pas accès).
Pour éviter de créer deux fois le même menu, je test si le menu
précédent est créer, puis j'insère le miens.

Le problème est que le test d'existence du menu précédent est fait
avant que le menu soit créé.

Merci pour ton aide

Cordialement,

F.
Fdecourt
Le #19540931
Ok ok :

J'ai des macros complémentaire, dont l'origine est un produit
financier qui va créer un menu ("Extraction") à Gauche du "?" de la
barre de menu principale. Ce menu "Extraction" contient plusieurs sous
menu.

Ma macro rajoute un sous menu à ce menu "Extraction".

Pour m'assurer que le logiciel financier est bien installé, au
lancement de ma XLA, je vérifier que le menu "Extraction" existe. Si
c'est le cas, alors dans ce menu Extraction, j'insère mon menu.

La macro que j'utilise pour tester l'existence de mon menu est la
suivante :

For Each ctrl In CommandBars("Worksheet Menu Bar").Controls
If InStr(1, ctrl.Caption, "Extraction") > 1 Then
install_Extraction = True: Exit For
Next

Cette macro, qui est lancé par Workbook_Open ne me renvoit pas true,
car le menu coda semble s'installer quelques secondes après.

Merci pour ton aide

Cordialement,

F.
MichDenis
Le #19541381
Au lieu d'ajouter un sous menu à ce menu "Extraction", pourquoi ne pas ajouter des
commandes à un menu à côté du menu extraction ? Ce dernier serait entièrement sous ton
contrôle !





"Fdecourt"
Ok ok :

J'ai des macros complémentaire, dont l'origine est un produit
financier qui va créer un menu ("Extraction") à Gauche du "?" de la
barre de menu principale. Ce menu "Extraction" contient plusieurs sous
menu.

Ma macro rajoute un sous menu à ce menu "Extraction".

Pour m'assurer que le logiciel financier est bien installé, au
lancement de ma XLA, je vérifier que le menu "Extraction" existe. Si
c'est le cas, alors dans ce menu Extraction, j'insère mon menu.

La macro que j'utilise pour tester l'existence de mon menu est la
suivante :

For Each ctrl In CommandBars("Worksheet Menu Bar").Controls
If InStr(1, ctrl.Caption, "Extraction") > 1 Then
install_Extraction = True: Exit For
Next

Cette macro, qui est lancé par Workbook_Open ne me renvoit pas true,
car le menu coda semble s'installer quelques secondes après.

Merci pour ton aide

Cordialement,

F.
Fdecourt
Le #19541651
Je suis d'accord.

Le seul problème est que mes macros utilise les fichier XLA
Extraction.
Ainsi lorsque je faisais mes bricolage, il arrivait que le premier
menu ("Extraction") n'apparaisse pas, alors que les macros étaient
bien référencées comme complémentaires.

Et pour la configuration de mes macros, il est parfois nécessaire de
passer par certain paramètres du Menu Extraction, c'est la seule
solution que j'ai trouvé pour vérifier l'installation et
l'accessibilité du menu Extraction.
MichDenis
Le #19546081
Pour ce qui est du fichier de macros complémentaires inaccessibles :

a ) Est-ce qu'il y a plus d'un fichier ou un seul fichier contenant les macros
complémentaires

b ) est-ce que ce fichier xla sert seulement pour l'application d'un fichier donné ?

c ) Est que ce(s) fichiers (xla) se chargent à l'ouverture d'Excel ou à l'ouverture d'un
fichier Excel particulier ? Si c'est selon la seconde proposition, est-ce que le fichier
xla est déclaré comme référence (voir la liste des références (outils / référence en vbe))
?



"Fdecourt"
Je suis d'accord.

Le seul problème est que mes macros utilise les fichier XLA
Extraction.
Ainsi lorsque je faisais mes bricolage, il arrivait que le premier
menu ("Extraction") n'apparaisse pas, alors que les macros étaient
bien référencées comme complémentaires.

Et pour la configuration de mes macros, il est parfois nécessaire de
passer par certain paramètres du Menu Extraction, c'est la seule
solution que j'ai trouvé pour vérifier l'installation et
l'accessibilité du menu Extraction.
Fdecourt
Le #19547811
MichDenis,

Il y a plusieurs fichiers contenant des macros complémentaire.

Ces fichiers ne servent pas que pour un fichier particulier. Elles
sont utilisables sur n'importe quel fichier. Certaine de ces macros
sont des formules qui sont utilisable dans tout fichier.

Elles se chargent à l'ouverture d'Excel (les macros propriétaires et
les miennes).

Elles sont effectivement référencé dans les reférences de VBE.

Merci pour ton aide

Cordialement,

F.
MichDenis
Le #19549431
Je ne comprends pas tout de ton environnement de travail...

Si tous tes fichiers de macros complémentaires s'ouvrent en même temps qu'Excel, cela
signifie que l'ajout d'un item au menu s'effectue dès l'ouverture d'Excel. En fait, comme
tu n'as pas le contrôle sur l'ordre de chargement de ces fichiers, ton fichier de macros
complémentaires qui ajoute des éléments au sous-menu de l'item principal "Extraction" du
menu qui lui est chargé par un fichier de macros complémentaires dont tu n'as pas l'accès,
n'est pas nécessairement synchronisé. En conséquence, ta procédure qui ajoute les
sous-menus se plante si l'item du menu principale n'est pas déjà chargé(exécuté).

Une proposition : Dans ton fichier de macros complémentaires devant ajouter les éléments
du sous-menu, ajoute une temporisation à l'exécution de la procédure afin de t'assurer que
tous les fichiers de macros complémentaires sont chargés.

Dans le ThisWorkbook de ton fichier complémentaire responsable des items du sous-menu :

Selon ton environnement, tu adaptes le 15 secondes pour 30 si besoin.
Cela signifie qu'il y aura un délai de x secondes entre l'ouverture du fichier et
l'exécution de la procédure, laissant tout le temps aux autres fichiers de macros
complémentaires de se charger.
'--------------------------------------
Private Sub Workbook_Open()

Application.OnTime Now + TimeValue("00:00:15"), "MonMenu"

End Sub
'--------------------------------------






"Fdecourt"
MichDenis,

Il y a plusieurs fichiers contenant des macros complémentaire.

Ces fichiers ne servent pas que pour un fichier particulier. Elles
sont utilisables sur n'importe quel fichier. Certaine de ces macros
sont des formules qui sont utilisable dans tout fichier.

Elles se chargent à l'ouverture d'Excel (les macros propriétaires et
les miennes).

Elles sont effectivement référencé dans les reférences de VBE.

Merci pour ton aide

Cordialement,

F.
Fdecourt
Le #19551181
MichDenis,

J'essaye la temporisation.

Et je dois avouer que moi non plus j'ai du mal à comprendre
l'environnement de travail. Tout a été fait pour ne pas être standard ,
bizaroide..... et bien sur rien n'est documenté.... un peu hard....

Merci pour ton aide

Cordialement,

F.
Publicité
Poster une réponse
Anonyme