Excel lire macro
Sylvie
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
Lorsque j'ouvre un classeur, je peux voir ma macro. Mais, je voudrais voir toutes mes macros des autres classeurs Excel et les exécuter si je le veux sans avoir à ouvrir tous les classeurs.
Merci
Lorsque j'ouvre un classeur, je peux voir ma macro. Mais, je voudrais voir toutes mes macros des autres classeurs Excel et les exécuter si je le veux sans avoir à ouvrir tous les classeurs.
Merci
Configuration: Windows XP Firefox 3.0.7
4 réponses
-
Bonjour,
On peut lancer une macro d'un autre classeur en utilisant la fonction Run
Application.Run("C:\monClasseur.xls!macro1")
Si la macro demande des paramètres d'entrées et renvoie une valeur on peut faireretour = Application.Run("C:\monClasseur.xls!macro1", 10)
;o) -
Voilà comment toutes les macros d'un classeur.
Sub listeMacros() 'Nécessite d'activer la référence '"Visual basic For Application Extensibility 5.3" Dim i As Integer, Ajout As Integer, x As Integer Dim Msg As String Dim VBCmp As VBComponent Dim Wb As Workbook 'Indiquez le nom du classeur (ouvert) Set Wb = Workbooks.Open("C:\monClasseur.xls") Ajout = 1 For Each VBCmp In Wb.VBProject.VBComponents Msg = VBCmp.Name With ThisWorkbook.Worksheets(1).Cells(Ajout, 1) .Interior.ColorIndex = 6 .Value = Msg End With x = Wb.VBProject.VBComponents(Msg).CodeModule.CountOfLines For i = 1 To x ThisWorkbook.Worksheets(1).Cells(Ajout + i, 1) = _ Wb.VBProject.VBComponents(Msg).CodeModule.Lines(i, 1) Next Ajout = Ajout + x + 2 Next VBCmp End Sub
Il suffit de l'adapter un peu pour parcourir l'ensemble des classeurs ...
;o)-
Bonjour,
Je suis débutante et j'ai du mal à appliquer cette formule.
Exemple:
j'ouvre un nouveau classeur Excel sur le bureau et quand je veux y appliquer une macro.
Affichage - macro - le tableau est vide . je n'ai aucune macro.
Je voudrai avoir dans ce tableau toutes la liste de macro qui se trouve je ne sais où dans l'ordi.
Merci.- Alors là, ce n'est pas possible.
Il faut pour cela que tous les classeurs possédant des macros soient ouverts et dans la fenêtre "Macro" sélectionner dans la liste déroulante en bas de la fenêtre : tous les classeurs ouverts.
Sinon regarde ici ... mais je ne pense pas que ça soit cela que tu veux.
;o)
-
-
Si tu as regardé le lien, c'est un peu ce qu'il propose ^^
Il faut le nommé .XLA et ne contiendra que des macros et pas de feuilles. Je te conseille de bien suivre le tuto.
Il suffit de faire quand tu lances Excel de faire : Outils/Macros Complémentaires, et cochez la case "Mes fonctions personnelles". Ensuite tu les auras à chaque lancement d'Excel sans avoir à refaire la manip.
;o)
-