[vba] démarrer une macro au démarrage

Résolu/Fermé
andy_kaufmann Messages postés 36 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 mars 2013 - 21 déc. 2010 à 17:02
andy_kaufmann Messages postés 36 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 mars 2013 - 22 déc. 2010 à 09:02
Bonjour,

Je souhaite qu'une macro s'auto-exécute au demarrage (non, c'est pas pour un virus...).
Quelqu'un peut-il m'aider là-dessus ?


Merci

A voir également:

3 réponses

g Messages postés 1262 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 15 mai 2017 575
21 déc. 2010 à 17:32
Bonjour,
Pour Excel, dans ThisWorkbook :

Private Sub Workbook_Open()
Le nom de ta macro
End Sub

Bonne soirée.
4
cousinhub29 Messages postés 978 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 3 janvier 2025 348
Modifié par cousinhub29 le 22/12/2010 à 09:00
Bonjour,

à savoir qu'une procédure nommée :

Sub auto_open() 
MsgBox "bonjour" 
End Sub


et placée dans un module standard se déclenchera également dès l'ouverture du fichier, pour peu que les macros soient activées (condition également nécessaire pour le Workbook_Open)

Edit, cependant, cette procédure s'exécutera après celle du Workbook_Open

Bonne journée
0
andy_kaufmann Messages postés 36 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 mars 2013 6
21 déc. 2010 à 18:27
Salut g, merci pour ta réponse.

C'est pas plutôt

Private Sub NomMacro_Open()

code

End Sub


merci, andy
0
g Messages postés 1262 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 15 mai 2017 575
21 déc. 2010 à 18:46
Non, c'est bien

Private Sub Workbook_Open()
Le nom de ta macro *
End Sub

* La macro se trouvant dans un module standard

Bonne soirée.
0
andy_kaufmann Messages postés 36 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 mars 2013 6
22 déc. 2010 à 08:16
ok, donc c'est une macro séparée qui s'exécute lors de l'ouverture de la feuille ?
en gros, il y a deux macros distinctes, l'une qui fait ce que je veux, et l'autre qui fait qu'elle s'exécute au démarrage ?

andy
0
g Messages postés 1262 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 15 mai 2017 575
Modifié par g le 22/12/2010 à 08:38
C'est tout à fait cela.

La macro "principale" est contenue dans le module standard et celle contenue dans ThisWorkbook la commande à l'ouverture du classeur.

Maintenant si tu mets le code de la macro "principale" dans ThisWorkbook entre

Private Sub Workbook_Open()
et
End Sub

ça fonctionnera aussi.

Seulement l'intérêt de la première solution est de pouvoir utiliser la macro "principale" à d'autres occasions ainsi que de pouvoir ajouter facilement des commandes à l'ouverture du classeur.
0
andy_kaufmann Messages postés 36 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 mars 2013 6
22 déc. 2010 à 09:02
ok, merci pour vos réponses !!

bonnes fêtes
0