Macro dans Macro - VB/VBA/VBS - Programmation
Marsh Posté le 05-09-2005 à 12:27:39
marcodeloris a écrit : Je souhaite créer sous Visual Basic (dans Excel) une macro qui, lorsqu'elle est activée par un bouton sur Excel, permet de lancer une autre macro nommé "alpha" par exemple. |
tu créées une fonction Alpha()
et tu ajoutes au bouton crée l'vènement onclick) dans lekel tu lances Alpha()...
Marsh Posté le 05-09-2005 à 12:36:36
je n'ai pas bien compris la solution que tu me proposes.
J'ai crée une macro nommé "lancer_alpha". J'aimerai qu'en l'exécutant, elle exécute automatiquement la macro "alpha"
Que dois je mettre à la place des ?
Sub lancer_alpha()
?
?
?
End Sub
[je pense qu'il doit y avoir un code permettant d'activer Sub alpha()
...
End Sub
mais je ne le connais pas!!]
Marsh Posté le 05-09-2005 à 12:42:25
ta macro alpha doit etre concue sous la forme de function
dim function Alpha() as long
...
end function
Marsh Posté le 05-09-2005 à 14:03:11
Call alpha()
Lance la sub nomée alpha
Marsh Posté le 05-09-2005 à 14:19:33
j'ai bien écris le code mais ca ne marche pas (l'autre macro est enregistrée dans un autre classeur que j ai bien entendu ouvert)
Sub lancer_alpha()
Workbooks("MO Interne.xls" ).Activate
Call alpha
End Sub
[knakes les parenthèses après alpha sont effacés automatiquement par visual basic]
Marsh Posté le 05-09-2005 à 14:22:45
le call alpha marche si je me trouve dans le meme classeur apparemment... J'ai essayé
Marsh Posté le 05-09-2005 à 14:48:21
alors comment faire dans le cas présent ou l'autre macro n'est pas dans le même classeur.
Marsh Posté le 05-09-2005 à 15:27:41
Aurais tu essayé avec :
Application.Run "nom_du_fichier.xls!nom_du_module.nom_de_ta_macro"
Si ton fichier reste ouvert pendant l'exécution de la macro chez moi ça marche.
Marsh Posté le 05-09-2005 à 17:47:36
alors wataShi, ta méthode fonctionne (j'ai essayé cette méthode avec deux fichiers ouverts comme tu l'as précisé.
Toutefois, dans mon programme, j ai effectué la même méthode et ça ne marche pas. dans ce programme il y 5 fichiers ouverts (mais je ne vois pas en quoi ca pourrait gêner), cependant excel m'indique l'erreur d'exécution 1004 : impossible de trouver "nom_du_fichier.xls!nom_du_module.nom_de_ta_macro" .
je ne vois pas pourquoi!
Marsh Posté le 05-09-2005 à 20:36:46
les parenthèses s'enlèvent c'est normal, elle contiennent les options de la macro, s'il n'y a rien on les enlève.
Marsh Posté le 05-09-2005 à 20:57:15
bon apparement je n'ai plus ces problèmes avec Excel 2003.
Dire que ce souci m'a pris des heures avec Excel 2000.
J'espère ne plus rencontrer ce type de problème ... merci à tous
Marsh Posté le 05-09-2005 à 12:10:08
Je souhaite créer sous Visual Basic (dans Excel) une macro qui, lorsqu'elle est activée par un bouton sur Excel, permet de lancer une autre macro nommé "alpha" par exemple.
Malheureusement, je ne connais pas le code à écrire sous VBA pour permettre une telle manipulation.
Merci de me renseigner.
MARCO