« Macros-commandes VBA/Procédures et événements automatiques » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (- d'utiliser + d’utiliser )
m Robot : Remplacement de texte automatisé (- l'opposition + l’opposition , - d'asile + d’asile , - s'adresser + s’adresser , - l'ensemble + l’ensemble , - d'argent + d’argent , - l'argent + l’argent , - l'augmentation + l’augmentat...
Ligne 7 :
}}
 
== Introduction ==
Plusieurs moyens permettent d'exécuter une procédure Sub. L'une d'entre elles consiste à faire en sorte qu'elle le soit automatiquement. Dans cette leçon, vous découvrirez tout ce qu’il faut savoir pour exploiter ces fonctionnalités particulièrement puissantes. Nous vous expliquerons comment préparer le terrain pour qu'une macro soit déclenchée lorsqu'un événement se produit.
 
De quels types d’événements est-il question ici ? C'est une bonne question. Un événement est fondamentalement quelque chose qui se produit dans Excel. Voici quelques exemples :
Ligne 21 :
* le double clic dans une cellule ;
* la survenance d'une heure du jour particulière ;
* une erreur.
 
La plupart des programmeurs ne se soucient pas de la majorité de ces événements. Vous devez cependant savoir qu’ils existent, car, un jour ou l'autre , ils pourront vous être utiles. Dans cette leçon nous utiliserons les événements les plus communément utilisés. Pour faire simple, nous n'en aborderons que deux : les classeurs et les feuilles de calcul.
 
Au termes de cette leçon vous saurez répondre aux questions suivantes :
* quels sont les événements qui peuvent déclencher une exécution ?
* où faut-il placer le gestionnaire d'événement dans le code VBA ?
* comment exécuter une macro à l'ouverture/fermeture d'un classeur ou quand un classeur/feuille de calcul est activé ?
 
=== Caractéristiques des procédures d'évenements ===
Un événement est toujours associé à un objet ou à une collection d'objets spécifique. Nous avons défini une procédure événementielle de niveau "feuille de calcul", attachée à la première feuille du classeur. Si nous voulions que cette procédure se déclenche quand l'utilisateur sélectionne de nouvelles cellules dans n’importe quelle feuille du classeur, il faudrait créer une procédure événementielle de niveau "classeur", s'appliquant à l'ensemblel’ensemble de ses feuilles.
 
La feuille de calcul représente ici l’objet associé à la procédure événementielle. Il peut s'agir soit d'un objet existant, créé par l'utilisateur, soit d'un objet créé par programmation.
Ligne 76 :
 
.
[[FileFichier:Image 1o.jpg|center|800px|center|Image 1o]]
.
 
Ligne 180 :
 
 
[[FileFichier:Image 2o.jpg|center|800px|Image 2o|center]]
 
 
Ligne 238 :
</source>En fait, cette procédure n'empêche pas réellement quelqu’un d'enregistrer le classeur sous un nom différent. Il suffit d'ouvrir le classeur avec ses macros désactivées, et le tour est joué. En effet, dans ce cas, toutes les procédures de gestion d’événements sont elles aussi désactivées. Ce qui est parfaitement logique, puisque ce sont aussi des macros...
 
== Les événements de feuille ==
.
{| class="wikitable"
Ligne 340 :
 
.
[[FileFichier:Image 3o.jpg|center|500px|center|Image 3o]]
.