Execution automatique d'un module
Fermé
diabolo5495
Messages postés
112
Date d'inscription
lundi 15 juillet 2013
Statut
Membre
Dernière intervention
10 février 2015
-
25 juil. 2013 à 15:22
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 25 juil. 2013 à 16:11
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 25 juil. 2013 à 16:11
Bonjour à tous,
Voici mon soucis : j'ai trois modules contenant beaucoup de macro codée en VBA. J'aimerais que ces macros s'exécutent automatiquement. Est-il donc possible de faire exécuter simplement les modules eux mêmes et si oui comment ? Sinon comment faire pour que les macros s'exécutent automatiquement ??
Cordialement
Voici mon soucis : j'ai trois modules contenant beaucoup de macro codée en VBA. J'aimerais que ces macros s'exécutent automatiquement. Est-il donc possible de faire exécuter simplement les modules eux mêmes et si oui comment ? Sinon comment faire pour que les macros s'exécutent automatiquement ??
Cordialement
A voir également:
- Execution automatique d'un module
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Message automatique thunderbird - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Gmail libellé automatique - Guide
- Sommaire automatique word - Guide
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
25 juil. 2013 à 15:36
25 juil. 2013 à 15:36
Bonjour,
Pour qu'une macro s'exécute automatiquement (on est bien dans excel???), il faut choisir l'événement déclencheur.
Cela peut être beaucoup de choses comme, par exemple :
- un changement de feuille,
- à l'ouverture du classeur,
- au changement de valeur dans une cellule,
- avant un double-clic
etc.
Pour qu'une macro s'exécute automatiquement (on est bien dans excel???), il faut choisir l'événement déclencheur.
Cela peut être beaucoup de choses comme, par exemple :
- un changement de feuille,
- à l'ouverture du classeur,
- au changement de valeur dans une cellule,
- avant un double-clic
etc.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
25 juil. 2013 à 15:51
25 juil. 2013 à 15:51
Exemple : à l'ouverture du classeur déclencher la procédure (Sub) nommé "MessageAlOuverture"
Dans le module ThisWorkbook (accessible par un double-clic sur "ThisWorkbook" dans la fenêtre VBA-Project (en haut à gauche de l'éditeur VBA), insérer ce code :
Sub MessageAlOuverture() MsgBox "Coucou" End Sub
Dans le module ThisWorkbook (accessible par un double-clic sur "ThisWorkbook" dans la fenêtre VBA-Project (en haut à gauche de l'éditeur VBA), insérer ce code :
Private Sub Workbook_Open() Call MessageAlOuverture End Sub
diabolo5495
Messages postés
112
Date d'inscription
lundi 15 juillet 2013
Statut
Membre
Dernière intervention
10 février 2015
27
25 juil. 2013 à 15:53
25 juil. 2013 à 15:53
Merci beaucoup et juste si je veux en faire plusieurs j'ai juste à écrire comme ceci ?
Private Sub Workbook_Open() Call MessageAlOuverture, MessageAlFermeture, etc End Sub
diabolo5495
Messages postés
112
Date d'inscription
lundi 15 juillet 2013
Statut
Membre
Dernière intervention
10 février 2015
27
25 juil. 2013 à 15:55
25 juil. 2013 à 15:55
Est ce normal qu'il me déclare "nom ambigu détecté" ?
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
25 juil. 2013 à 16:11
25 juil. 2013 à 16:11
nom ambigu détecté signifie que tu as deux procédures qui portent le même nom.
Tu n'avais pas, par hasard, déjà une procédure Workbook_Open()??
Et non, tu les écris les unes en dessous des autres, dans l'ordre de leur exécution :
Par contre, la procédure MessageAlaFermeture devra faire partie d'un autre événement :
par exemple :
Liens intéressants :
Les événements dans la feuille de calcul :
https://silkyroad.developpez.com/VBA/EvenementsFeuille/
Les événements Workbook :
https://www.excel-pratique.com/fr/vba/evenements_classeur.php
Tu n'avais pas, par hasard, déjà une procédure Workbook_Open()??
Et non, tu les écris les unes en dessous des autres, dans l'ordre de leur exécution :
Private Sub Workbook_Open() Call MessageAlOuverture Call SupprimeFeuilles Call CreationFichier Call BoucleFichiers End Sub
Par contre, la procédure MessageAlaFermeture devra faire partie d'un autre événement :
par exemple :
Private Sub Workbook_BeforeClose(Cancel As Boolean) Call MessageAlaFermeture End Sub
Liens intéressants :
Les événements dans la feuille de calcul :
https://silkyroad.developpez.com/VBA/EvenementsFeuille/
Les événements Workbook :
https://www.excel-pratique.com/fr/vba/evenements_classeur.php
25 juil. 2013 à 15:39