Détaille sur la portée d’une variable dans Excel VBA

La portée d’une variable dans Excel VBA détermine où cette variable peut être utilisée. Vous déterminez la portée d’une variable lorsque vous la déclarez. Il existe trois niveaux d’étendue: niveau procédure, niveau module et niveau module public.

Placez un bouton de commande sur votre feuille de calcul et ajoutez les lignes de code suivantes:

1. Placez les deux procédures (une procédure est soit une procédure Sub ou une procédure function) dans un module. Dans le visuel Editeur de base, cliquez sur Insérer, Module. Ajoutez les lignes de code suivantes:

2. Résultat lorsque vous cliquez sur le bouton de commande sur la feuille (appelez les deux procédures): 

Explication: la variable txt a un niveau de procédure d’étendue car elle est déclarée dans la procédure (entre Sub et End Sub). Par conséquent, vous ne pouvez utiliser cette variable que dans sub1. La variable txt ne peut pas être utilisée dans sub2.

3. Lorsque vous voulez qu’une variable soit disponible pour toutes les procédures d’un module, vous dites que vous voulez que la variable ait une portée de niveau module. Vous devez déclarer la variable dans la section Déclarations générales (en haut du module). Ajustez légèrement le code comme suit:

4. Résultat lorsque vous cliquez sur le bouton de commande sur la feuille:

 

Explication: la variable txt peut maintenant être utilisée dans sub2. Le niveau de module est utilisé de manière interchangeable avec le niveau de module privé. En effet, par défaut, les variables déclarées avec l’instruction Dim dans la section Déclarations générales sont définies comme privées. Vous pouvez également définir une variable comme publique. Continuer à lire.

5. En utilisant le mot-clé Public, votre variable sera disponible pour toutes les procédures de tous les modules d’un classeur. C’est ce qu’on appelle la portée au niveau du module public. Ajustez légèrement le code comme suit:

Explication: vous pouvez maintenant créer un nouveau module et placer un sous-nom appelé sub3 dans ce module. Utilisez le même code que sub2. Ajoutez sub3 à votre code de bouton de commande. Lorsque vous cliquez sur le bouton de commande sur la feuille de calcul, vous obtiendrez trois boîtes de message indiquant «La variable ne peut être utilisée que dans cette procédure» 

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x