Execution automatique d'un module
diabolo5495
Messages postés
112
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
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
- Réponse automatique thunderbird - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Pas de module ci - Forum TV & Vidéo
- Manque cam module - Forum TNT / Satellite / Réception
2 réponses
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.
diabolo5495
Messages postés
112
Date d'inscription
Statut
Membre
Dernière intervention
27
Et bien disons à l'ouverture du classeur et en cas de changement ou de complet du tableau !
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
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