bonjour à toutes et tous,
je voudrais lancer un .xla (nommé TOTO) depuis une macro.
ce .xla est une macro qui permet de générer un fichier texte et de le mettre a dispo sur un serveur. TOTO est protégé par un mot de passe que je ne connais pas et que je ne veux pas connaitre
d'ordinaire on indique dans plusieurs cellules certaines variables (nom de fichier, date etc...) et on clique sur la macro complémentaire TOTO dans le ruban pour lancer la macro.
Nous avons automatisé la saisie des variables et je souhaiterais automatiser la saisie jusqu'au lancement de cette macro.
TOTO apparait bien dans le classeur sous forme "VBAPROJECT(TOTO.xla)" dans vba par contre quelle ligne de code me permettrait de la lancer?
j'ai essayé call TOTO ca ne marche pas j'ai 2 messages : Toto.xls est inaccessible puis toto.htm est inaccessible.
J'ai essayé application.run : erreur 1004 et la je bloque....
merci d'avance pour votre aide.
Bonjour
en fait un bouton existe dejà dans le ruban mais je voudrais m'affranchir de cette étape (les macros me rendent fainéant !)
comment puis je y faire référence dans ma ligne de code?
merci pour ton aide
bonjour,
merci mais je ne comprends pas la construction de la formule :
application.run " fichier en cours ! nom de la macro a lancer" est ce bien cela? sinon il me met erreur 1004 !
j'aurais mis le quote avant le nom du fichier et à la fin du nom de la macro.
Mais tu peux essayer aussi en supprimant le nom des espaces dans ton fichier xla.
Je me demande si ce n'est pas plus logique de ne pas mettre d'espaces dans le nom des fichiers xla, comme dans les macros d'ailleurs, on ne peut pas en mettre.
Et avec ce code (le nom fichier du fichier comportant la macro à exécuter comporte des apostrophes et des espaces) ? :
VB:
Sub Test()
Const FicMacro = "D:\EXCEL\@EXCEL-DOWNLOADS\abcd\a b c 'd' .xlsm"
Const macro1 = "toto"
Const ap = "'"
Application.Run ap & Replace(FicMacro, ap, ap & ap) & ap & "!" & macro1
End Sub