VBA : Appel macro à l'aide d'une variable
Résolu/Fermé
A voir également:
- VBA : Appel macro à l'aide d'une variable
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
- Vba range avec variable ✓ - Forum VB / VBA
- Vba autofill ✓ - Forum Excel
5 réponses
Bonjour
Tu n'as pas à changer les " " " de la variable nomfichier2 en " ' " car il n'y a pas de " " " dans la variable nomfichier2. Les délimiteurs utilisés pour encadrer une chaîne ne sont pas dans la chaîne.
Et visiblement, il te manque les bases de la programmation : tu ne fais pas la différence entre une variable et une expression littérale.
Pour résoudre ton problème, je pense que ce tu cherches à faire c'est :
Application.Run nomfichier2 & "!Module1.Traitement"
Tu n'as pas à changer les " " " de la variable nomfichier2 en " ' " car il n'y a pas de " " " dans la variable nomfichier2. Les délimiteurs utilisés pour encadrer une chaîne ne sont pas dans la chaîne.
Et visiblement, il te manque les bases de la programmation : tu ne fais pas la différence entre une variable et une expression littérale.
Pour résoudre ton problème, je pense que ce tu cherches à faire c'est :
Application.Run nomfichier2 & "!Module1.Traitement"
Bonjour,
Merci pour ta réponse! Je suis effectivement un novice en programmation, ce n'est pas ma tasse de thé !
Mais bon je fouille et j'essaie. Je vais de suite essayer ce que tu m'as proposé.
Buzz
Merci pour ta réponse! Je suis effectivement un novice en programmation, ce n'est pas ma tasse de thé !
Mais bon je fouille et j'essaie. Je vais de suite essayer ce que tu m'as proposé.
Buzz
Re,
Bon le problème persiste.
Le nom de mon classeur ayant des espaces lorsque je rentre :
Application.Run nomfichier2 & "!Module1.Traitement"
il lance la macro : 'Feuille de Calcul U50.xlsm!Module1.Traitement'
Et il ne trouve pas cette macro.
Ceci ne proviendrai-t-il pas de l'absence de " ' " pour délimiter le nom du classeur? C'est à dire qu'il faudrait que je puisse lancer :
'Feuille de Calcul U50.xlsm'!Module1.Traitement
Et si oui comment les ajouter afin qu'il ne considère pas la ligne comme une note?
Buzz
Bon le problème persiste.
Le nom de mon classeur ayant des espaces lorsque je rentre :
Application.Run nomfichier2 & "!Module1.Traitement"
il lance la macro : 'Feuille de Calcul U50.xlsm!Module1.Traitement'
Et il ne trouve pas cette macro.
Ceci ne proviendrai-t-il pas de l'absence de " ' " pour délimiter le nom du classeur? C'est à dire qu'il faudrait que je puisse lancer :
'Feuille de Calcul U50.xlsm'!Module1.Traitement
Et si oui comment les ajouter afin qu'il ne considère pas la ligne comme une note?
Buzz
Si tu as besoin de 'Feuille de Calcul U50.xlsm'!Module1.Traitement :
Application.Run "'" & nomfichier2 & "'!Module1.Traitement"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup pour ton aide !
Ca marche enfin !
Bonne journée !
Ca marche enfin !
Bonne journée !
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 754
Modifié par pijaku le 19/08/2011 à 10:24
Modifié par pijaku le 19/08/2011 à 10:24
Bonjour,
Un petit complément d'info...
Pour le nom de fichier : "Relevé de côte d'usure.xlsm" ton code rique également de planter car dans ton nom de fichier il y a une apostrophe... A supprimer je pense.
Un petit complément d'info...
Pour le nom de fichier : "Relevé de côte d'usure.xlsm" ton code rique également de planter car dans ton nom de fichier il y a une apostrophe... A supprimer je pense.