[EXCEL/VBA] Maintenance de macros
Résolu
laurent1030
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
laurent1030 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
laurent1030 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai écrit une macro en VBA qui utilise un Module et une boite de dialogue. Cette macro est utilisée actuellement dans plusieurs fichiers Excel, ce qui m'oblige à tous les mettre à jour lorsque je veux modifier la macro.
J'ai essayé d'utiliser les "templates" ou "modèles de documents" sous Excel, mais cela ne semble pas aussi performant que sous Word. Lorsque je crée un fichier sur base du modèle, la macro est "copiée" dans le nouveau document. Résultat, si je mets à jour le modèle, les fichiers créés sur base du modèle ne sont pas mis à jour.
Comment faire pour pouvoir gérer ma macro de façon centralisée? La seule méthode que j'aie trouvée, c'est de mettre la macro dans un autre fichier, qui doit être ouvert en parrallèle avec le/les fichier(s) sur lesquels la macro doit être exécutée. Pas très pratique.
Merci
J'ai écrit une macro en VBA qui utilise un Module et une boite de dialogue. Cette macro est utilisée actuellement dans plusieurs fichiers Excel, ce qui m'oblige à tous les mettre à jour lorsque je veux modifier la macro.
J'ai essayé d'utiliser les "templates" ou "modèles de documents" sous Excel, mais cela ne semble pas aussi performant que sous Word. Lorsque je crée un fichier sur base du modèle, la macro est "copiée" dans le nouveau document. Résultat, si je mets à jour le modèle, les fichiers créés sur base du modèle ne sont pas mis à jour.
Comment faire pour pouvoir gérer ma macro de façon centralisée? La seule méthode que j'aie trouvée, c'est de mettre la macro dans un autre fichier, qui doit être ouvert en parrallèle avec le/les fichier(s) sur lesquels la macro doit être exécutée. Pas très pratique.
Merci
A voir également:
- Maintenance macros excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
3 réponses
Ok, j'ai trouvé. J'ai ajouté un code Visual Basic qui ajoute automatiquement un bouton dans le menu "Tools" (mon Excel est en anglais):
Private Sub Workbook_Open()
Dim ctrl As CommandBarControl
Set ctrl = Application.CommandBars("Tools").FindControl(, , "MYCONTROL")
If ctrl Is Nothing Then
Set ctrl = Application.CommandBars("Tools").Controls.Add(msoControlButton)
ctrl.Tag = "MYCONTROL"
ctrl.OnAction = "Start"
ctrl.Caption = "My Macro"
End If
End Sub
Private Sub Workbook_Open()
Dim ctrl As CommandBarControl
Set ctrl = Application.CommandBars("Tools").FindControl(, , "MYCONTROL")
If ctrl Is Nothing Then
Set ctrl = Application.CommandBars("Tools").Controls.Add(msoControlButton)
ctrl.Tag = "MYCONTROL"
ctrl.OnAction = "Start"
ctrl.Caption = "My Macro"
End If
End Sub
Salut,
En fait le meilleur moyen c'est de prendre ton fichier où tu développes ta macro, de faire Enregistrer sous et là tu choisis le nom que tu veux pour ta macro, et tu sélectionnes en bas l'extension des Macros complémentaires (*.xla) et il te la met directement dans le bon dossier...
Ensuite dans Excel dans n'importe quel fichier, tu peux faire Outils\Macros Complémentaires et sélectionner ta macro qui est alors utilisable dans tous tes fichiers Excel alors que tu ne l'as que dans une unique version sur ton pc.
Un conseil, garde le fichier d'origine pour pouvoir mettre à jour ta macro facilement et utilise la même méthode pour l'enregistrement en écrasant à chaque fois l'ancienne macro ! ;-)
En fait le meilleur moyen c'est de prendre ton fichier où tu développes ta macro, de faire Enregistrer sous et là tu choisis le nom que tu veux pour ta macro, et tu sélectionnes en bas l'extension des Macros complémentaires (*.xla) et il te la met directement dans le bon dossier...
Ensuite dans Excel dans n'importe quel fichier, tu peux faire Outils\Macros Complémentaires et sélectionner ta macro qui est alors utilisable dans tous tes fichiers Excel alors que tu ne l'as que dans une unique version sur ton pc.
Un conseil, garde le fichier d'origine pour pouvoir mettre à jour ta macro facilement et utilise la même méthode pour l'enregistrement en écrasant à chaque fois l'ancienne macro ! ;-)
Merci, je n'avais pas pensé à ça.
Mais comment est-ce que je peux accéder à ma macro ? Normalement, je l'exécuter via le menu Outils\Macro, mais elle n'apparaît plus dans la liste des macros. Pourtant, je vois bien le code VBA dans l'éditeur Visual Basic. Je cherche de mon côté car j'imagine que ça doit être tout bête.
Mais comment est-ce que je peux accéder à ma macro ? Normalement, je l'exécuter via le menu Outils\Macro, mais elle n'apparaît plus dans la liste des macros. Pourtant, je vois bien le code VBA dans l'éditeur Visual Basic. Je cherche de mon côté car j'imagine que ça doit être tout bête.