ma macro étant trop grande, j'ai voulu en mettre une partie dans une autre. pendant l'execution de ma macro, il faut donc que je bascule sur l'autre pour pouvoir ensuite revenir a la premiere une fois la seconde terminée.
j'ai essayé la formule ci dessous
Application.Run Macro:=Range("PERSO.XLS!Module2.Macro5")
macro5 est le nom de ma 2nde macro et module2 son emplacement ds mon fichier perso.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
J-Dan
bonjour Corolleur,
l'appel d'une macro se fait simplement par son nom, ex : Macro5 et si cette macro requiert des arguments par Call Macro5(arg1,arg2).
dans ton cas "Application.Run Macro:=Range("PERSO.XLS! Module2.Macro5")" Range est de trop. Le nom du module n'est necessaire que si tu as plusieurs "Private sub" du meme nom dans differents modules. Application.Run Macro:="Macro5" conviendrait.
Application.Run Macro:=Range("PERSO.XLS!Module2.Macro5") macro5 est le nom de ma 2nde macro et module2 son emplacement ds mon fichier perso.
il se produit une erreur à l'execution.
merci .
bonjour Corolleur,
l'appel d'une macro se fait simplement par son nom, ex :
Macro5 et si cette macro requiert des arguments par Call
Macro5(arg1,arg2).
dans ton cas "Application.Run Macro:=Range("PERSO.XLS!
Module2.Macro5")" Range est de trop. Le nom du module
n'est necessaire que si tu as plusieurs "Private sub" du
meme nom dans differents modules.
Application.Run Macro:="Macro5" conviendrait.
l'appel d'une macro se fait simplement par son nom, ex : Macro5 et si cette macro requiert des arguments par Call Macro5(arg1,arg2).
dans ton cas "Application.Run Macro:=Range("PERSO.XLS! Module2.Macro5")" Range est de trop. Le nom du module n'est necessaire que si tu as plusieurs "Private sub" du meme nom dans differents modules. Application.Run Macro:="Macro5" conviendrait.