Variable publique non-réinitialisée et Option explicit.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Charly88

XLDnaute Occasionnel
Bonjour à tous.

Deux petites questions auxquelles je n'ai pas trouvé de réponse dans les tuto ou en cherchant.

Suite à vos bons conseils, j'ai passé pas mal de variables en public et j'ai ainsi pu réorganiser mon code.

1° Ce que je n'ai pas compris (puisque pas prévu) c'est pourquoi ces variables publiques ne revenaient pas à leur valeur de base (nulle) une fois les diverses procédures terminées ?... Portée "géographique", oui, mais aussi temporelle ?

2° Question subsidiaire, en me promenant dans les tuto, je suis tombé sur ce conseil de Michel (encore merci pour les tuto !) :
Insérez l'instruction Option Explicit en tout début de procédure. Grâce à cette instruction, vous aurez un message d’erreur qui identifiera toute variable non définie, ou mal orthographiée.

La question c'est quelle est la différence avec la version sans cette option explicit ? Je n'ai pas encore testé mais de base, en mettant une majuscule par exemple, on voit si la variable est reconnue donc, quel est l'avantage ?

Merci d'avance pour vos réponses !
 
Re : Variable publique non-réinitialisée et Option explicit.

Bonjour Charly88,

Les variables de type Public sont destinées à être utilisées dans tous les modules (sauf Private). Elles ne sont initialisées qu'une fois et gardent leur valeur initiale ou modifiée par les procédures tant que le classeur est ouvert. Rien ne t'interdit en effet de lancer X fois la même procédure en souhaitant utiliser les calculs précédents.

Tu peux prévoir une procédure de réinitialisation des variables que tu lanceras dans certains cas.

Pour la 2ème question, si tu mets l'option EXplicit et que tu lances une procédure sans avoir défini les variables (Dim...), tu obtiendra un message d'erreur alors que sans l'option Explicit, la procédure se déroulera normalement mais les variables seront déclarées comme "Variant" ce qui n'est pas le plus économe en mémoire.

@+

Gael
 
Re : Variable publique non-réinitialisée et Option explicit.

Bonjour,

1. les variables sont attachées au projet (le classeur). la durée de vie est donc celle du classeur. Cela est utile en particulier si vous utiliser les événements car les procédures peuvent être déclanchées à tous moments et excel ne peut pas deviner la "fin"

2. "option explicit" oblige à déclarer les variables, ce qui est 100% fiable par rapport à l'utilisation du controle visuel avec les majuscules.

GIBI
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour