VBA : Appel macro à l'aide d'une variable
Résolu/Fermé
A voir également:
- VBA : Appel macro à l'aide d'une variable
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Find vba - Astuces et Solutions
- Incompatibilité de type vba ✓ - Forum Programmation
- Vba arrondi supérieur ✓ - Forum VB / VBA
- Vba attendre 1 seconde ✓ - Forum VB / VBA
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
15 mars 2023
2 729
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.