Lancer une macro - parmi un choix de 60 macros et 1 variable [Résolu]

Signaler
Messages postés
41
Date d'inscription
jeudi 10 avril 2014
Statut
Membre
Dernière intervention
22 novembre 2018
-
Messages postés
41
Date d'inscription
jeudi 10 avril 2014
Statut
Membre
Dernière intervention
22 novembre 2018
-
Bonjour,

Je suis "amateur" en VBA, et je n'arrive pas à programmer correctement ceci... :

1/ J'ai 60 macros, appelées " Mac_01"... à "Mac_60".
2/ J'ai dans ma feuille Excel, une cellule appelée VAL : ma variable : valeur 1 à 60.

3/ Je souhaite faire une macro qui lance l'une des 60 macros, selon la valeur de VAL.

4/ J'ai tenté une macro du genre :
i = VAL
RUN("Mac_" & i)
mais visiblement je m'y prends mal... cela ne reconnait pas la macro à lancer...

Que faire ?

Merci pour votre aide, et désolé pour mon ignorance en VBA...

Cordialement

Bruno

3 réponses

Messages postés
14769
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 septembre 2020
433
Bonjour sur cette page, il est indiqué que le nom de la macro doit être précédée du nom du module.

Cet exemple fonctionne chez moi
Sub Macro1()
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "!1"
End Sub


Sub Macro2()
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "!2"

End Sub

Sub SelectMacro()
    For i = 1 To 2
        Run "Module1.Macro" & i
    Next
End Sub

Messages postés
29570
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 septembre 2020
337
Bonjour,

En complément de Whism...

Je lis :

J'ai dans ma feuille Excel, une cellule appelée VAL : ma variable : valeur 1 à 60.
...

4/ J'ai tenté une macro du genre :
i = VAL


I = VAL ????

Pour récupérer le contenu d'une cellule il faut passer par un l'attribut VALUE d'une RANGE....
donc :
i = Range("VAL").value


Penses aussi à utiliser le mode pas à pas.. pour lancer ta macro et regarder ce que valent tes différentes variables à chaque étape de ton code...


Messages postés
41
Date d'inscription
jeudi 10 avril 2014
Statut
Membre
Dernière intervention
22 novembre 2018

Ok, merci !!

J'ai réussi finalement autrement, mais cela bien m'a aidé !!