Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

charger une macro complémentaire à partir du VBA

3 réponses
Avatar
Merguez07
Bonjour à tous,
ce que je souhaite faire est très simple. je veux charger une macro
complémentaire à partir du VBA de mon programme
pour cela j'ai écrit dans mon code :

Private Sub Workbook_Open()


ThisWorkbook.VBProject.references.AddFromFile "chemin et nom de ma macro
complémentaire"

end sub


le problème c'est que mon code VBA ci dessus est protégé en lecture par mot
de passe et que lorsqu'il rencontre le code de chargement de la macro
complémentaire il me demande le mot de passe. C'est ballot

Comment faire sachant que je veux a tout prix :
1 -charger ma macro complémentaire à partir du VBA (en effet le répertoire
de la macro complémentaire peux parfois changer)
2 - ne pas avoir de mot de passe à fournir

Pour le point 2 il faut sans doute désactiver le mot de passe du code VBA
dans le code VBA puis le remettre après chargement de la macro
complémentaire mais j'ai pas trouvé l'astuce


Merci d'avance pour vos brillantes suggestions

Xavier

3 réponses

Avatar
Frédéric Sigonneau
Pour "charger" une macro complémentaire, le code ci-dessous devrait suffire :

Sub test()
Dim xla$, titre$
xla = "J:fsdatas6OfficeVBAClasseurTest.xla"
Workbooks.Open xla
titre = "Test Xla"
Application.AddIns(titre).Installed = True
End Sub

Cela suppose que tu aies donné un titre à ta macro xla.
Pour ce faire, alors que la propriété du module ThisWorkbook du fichier .xla
IsAddin est sur False, dans Excel dérouler le menu Fichier puis Propriétés et
dans l'onglet Résumé renseigner le champ titre. Enregistrer.
(il peut y avoir des complications : pour plus de détails, je te renvoie à mon
post de 11:57 dans le fil 'Ouvrir/Fermer une macro complémentaire' initié par cmoi).

L'installation par la méthode que je te propose ne nécessite pas, en plus,
d'établir une référence pour que les procédures de la macro complémentaire
soient disponibles et je ne vois pas de raison non plus pour que tu aies une
demande de mot de passe.

(Excel 2000-2003)

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

Bonjour à tous,
ce que je souhaite faire est très simple. je veux charger une macro
complémentaire à partir du VBA de mon programme
pour cela j'ai écrit dans mon code :

Private Sub Workbook_Open()


ThisWorkbook.VBProject.references.AddFromFile "chemin et nom de ma
macro complémentaire"

end sub


le problème c'est que mon code VBA ci dessus est protégé en lecture par
mot de passe et que lorsqu'il rencontre le code de chargement de la
macro complémentaire il me demande le mot de passe. C'est ballot

Comment faire sachant que je veux a tout prix :
1 -charger ma macro complémentaire à partir du VBA (en effet le
répertoire de la macro complémentaire peux parfois changer)
2 - ne pas avoir de mot de passe à fournir

Pour le point 2 il faut sans doute désactiver le mot de passe du code
VBA dans le code VBA puis le remettre après chargement de la macro
complémentaire mais j'ai pas trouvé l'astuce


Merci d'avance pour vos brillantes suggestions

Xavier




Avatar
Merguez07
J'ai fait comme indiqué mais j'ai une erreur N°9 (l'indice n'appartient pas
à la sélection) en ligne 5
la macro complémentaire s'ouvre bien. J'ai rajouté un titre comme indiqué
mais y a rien à faire elle n'apparait pas parmi les items de
application.Addins


Sub test()
1: Dim xla$, titre$
2: xla = "J:fsdatas6OfficeVBAClasseurTest.xla"
3: Workbooks.Open xla
4: titre = "Test Xla"
5: Application.AddIns(titre).Installed = True
End Sub


"Frédéric Sigonneau" a écrit dans le message de groupe de
discussion :
Pour "charger" une macro complémentaire, le code ci-dessous devrait
suffire :

Sub test()
Dim xla$, titre$
xla = "J:fsdatas6OfficeVBAClasseurTest.xla"
Workbooks.Open xla
titre = "Test Xla"
Application.AddIns(titre).Installed = True
End Sub

Cela suppose que tu aies donné un titre à ta macro xla.
Pour ce faire, alors que la propriété du module ThisWorkbook du fichier
.xla IsAddin est sur False, dans Excel dérouler le menu Fichier puis
Propriétés et dans l'onglet Résumé renseigner le champ titre. Enregistrer.
(il peut y avoir des complications : pour plus de détails, je te renvoie à
mon post de 11:57 dans le fil 'Ouvrir/Fermer une macro complémentaire'
initié par cmoi).

L'installation par la méthode que je te propose ne nécessite pas, en plus,
d'établir une référence pour que les procédures de la macro complémentaire
soient disponibles et je ne vois pas de raison non plus pour que tu aies
une demande de mot de passe.

(Excel 2000-2003)

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

Bonjour à tous,
ce que je souhaite faire est très simple. je veux charger une macro
complémentaire à partir du VBA de mon programme
pour cela j'ai écrit dans mon code :

Private Sub Workbook_Open()


ThisWorkbook.VBProject.references.AddFromFile "chemin et nom de ma
macro complémentaire"

end sub


le problème c'est que mon code VBA ci dessus est protégé en lecture par
mot de passe et que lorsqu'il rencontre le code de chargement de la macro
complémentaire il me demande le mot de passe. C'est ballot

Comment faire sachant que je veux a tout prix :
1 -charger ma macro complémentaire à partir du VBA (en effet le
répertoire de la macro complémentaire peux parfois changer)
2 - ne pas avoir de mot de passe à fournir

Pour le point 2 il faut sans doute désactiver le mot de passe du code VBA
dans le code VBA puis le remettre après chargement de la macro
complémentaire mais j'ai pas trouvé l'astuce


Merci d'avance pour vos brillantes suggestions

Xavier






Avatar
Frédéric Sigonneau
Il faut sans doute d'abord débarrasser la liste des macros complémentaires de
l'ancien titre par défaut. C'est dans cette liste qu'apparait le titre des
macros complémentaires (celui que tu choisis toi).
Reporte toi, comme indiqué, à mon post du 6/4 à 11:57 en réponse à cmoi.

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

J'ai fait comme indiqué mais j'ai une erreur N°9 (l'indice n'appartient
pas à la sélection) en ligne 5
la macro complémentaire s'ouvre bien. J'ai rajouté un titre comme
indiqué mais y a rien à faire elle n'apparait pas parmi les items de
application.Addins


Sub test()
1: Dim xla$, titre$
2: xla = "J:fsdatas6OfficeVBAClasseurTest.xla"
3: Workbooks.Open xla
4: titre = "Test Xla"
5: Application.AddIns(titre).Installed = True
End Sub


"Frédéric Sigonneau" a écrit dans le message de groupe
de discussion :
Pour "charger" une macro complémentaire, le code ci-dessous devrait
suffire :

Sub test()
Dim xla$, titre$
xla = "J:fsdatas6OfficeVBAClasseurTest.xla"
Workbooks.Open xla
titre = "Test Xla"
Application.AddIns(titre).Installed = True
End Sub

Cela suppose que tu aies donné un titre à ta macro xla.
Pour ce faire, alors que la propriété du module ThisWorkbook du
fichier .xla IsAddin est sur False, dans Excel dérouler le menu
Fichier puis Propriétés et dans l'onglet Résumé renseigner le champ
titre. Enregistrer.
(il peut y avoir des complications : pour plus de détails, je te
renvoie à mon post de 11:57 dans le fil 'Ouvrir/Fermer une macro
complémentaire' initié par cmoi).

L'installation par la méthode que je te propose ne nécessite pas, en
plus, d'établir une référence pour que les procédures de la macro
complémentaire soient disponibles et je ne vois pas de raison non plus
pour que tu aies une demande de mot de passe.

(Excel 2000-2003)

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

Bonjour à tous,
ce que je souhaite faire est très simple. je veux charger une macro
complémentaire à partir du VBA de mon programme
pour cela j'ai écrit dans mon code :

Private Sub Workbook_Open()


ThisWorkbook.VBProject.references.AddFromFile "chemin et nom de ma
macro complémentaire"

end sub


le problème c'est que mon code VBA ci dessus est protégé en lecture
par mot de passe et que lorsqu'il rencontre le code de chargement de
la macro complémentaire il me demande le mot de passe. C'est ballot

Comment faire sachant que je veux a tout prix :
1 -charger ma macro complémentaire à partir du VBA (en effet le
répertoire de la macro complémentaire peux parfois changer)
2 - ne pas avoir de mot de passe à fournir

Pour le point 2 il faut sans doute désactiver le mot de passe du code
VBA dans le code VBA puis le remettre après chargement de la macro
complémentaire mais j'ai pas trouvé l'astuce


Merci d'avance pour vos brillantes suggestions

Xavier