PORTEE REELLE DES VARIABLES...?

W

WIL

Guest
j ai un pb de portee des variables globales (declarees PUBLIC en debut de module). En expliquant comme je peu, je comprend pour l instant que ces variables sont utilisables dans les SUB du module mais dès le passage sur une feuille en fin d un SUB et qu un boutton sur feuille excel lance un PRIVATE SUB la variable n est pas utilisable et meme si le PRIVATE SUB lance un SUB du module ou la variable a ete declaree et utilisee au prealable la valeur est perdu. Donc existe t il un moyen de passer une valeur au travers de tout un classeur et ses macros sans en venir a la sauvegarde par ecriture sur feuille excel?

J espere avoir ete clair....
 
@

@+Thierry

Guest
Bonjour Will, le Forum

Il y a deux choses à respecter pour obtenir une Variable Public disponibles dans toutes les Procédures de tous les Modules et de toutes les Application (Sinon activer l'Option Private Module pour un Niveau Projet Uniquement)

1) La Syntax :
Public [WithEvents] varname[([subscripts])] [As [New] type] [,[WithEvents] varname[([subscripts])] [As [New] type]] .

Pour un exemple simple :
Public NumberOfEmployees As Integer

L'Emplacement
Une Variable Publique doit être déclarée en Haut d'un Module Standard en dehors de toute Sub ou Function (J'entends par Module "Standard" un Module1 par exemple, mais pas un Private Module de Feuille, ou de ThisWorkBook ou de UserForm)

Voilà, si ces deux choses sont respectées, tu devrais avoir accès à NumberOfEmployees n'importe où dans tes Modules ou UserForms à partir du moment où, bien sûr, celle-ci auras été intialisée (depuis n'importe où aussi, mais (of course) préalablement à ou aux accès...)

Bon Aprèm
@+Thierry
 

Discussions similaires

Réponses
3
Affichages
303

Statistiques des forums

Discussions
312 345
Messages
2 087 482
Membres
103 556
dernier inscrit
titboine