Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

déclaration variables

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 !

Hugues

XLDnaute Impliqué
Bonjour Le Forum,

Je souhaiterais déclarer une variable qui sera utilisée lors du fonctionnement de plusieurs instructions distinctes au sein d'une même feuille

Exemple une variable appelée ws qui sera le nom d'une feuille du classur qui servira dans plusieurs sub.

Comment la déclarer ?

Merci par avance,

Hugues
 
Re : déclaration variables

bonjour,

- dans un module, tu mets :

Code:
Public WS As Worksheet

Sub Init()
    Set WS = Worksheets(3) pour la feuille 3 qui contient 123 en A1 par exemple 
End Sub

- tu lances Init() depuis ton code (ou dans Workbook_open() pour lancer à l'ouverture)

- depuis, par ex. le code de la feuille 1, si tu fais : msgbox WS.range("A1").value, tu obtiens : 123

Cordialement
 
Dernière édition:
Re : déclaration variables

Salut Hugues et le forum
Personnellement, voici ce que j'en ai compris : le domaine d'application d'une variable dépend de l'endroit où tu la déclares (indépendemment de static)
Tu déclares une variable dans :
- une macro : elle est limitée à la macro, s'initialise au moment de l'exécution et disparaît à la fin
- l'en-tête d'un module de classe feuille : s'initialise à la première utilisation du module. Elle est utilisable pour toutes les macros contenues dans le module. Elle ne se remet à zéro que si tu lui affectes telle valeur (0, "" ou Nothing).
- l'en-tête d'un module de classe Classeur = valable pour toutes les macos du classeur.
- l'en-tête d'un module général : valable pour toutes les macros de tous les classeurs ouverts.

Ce n'est pas forcément juste (il y a les histoire de Private et Public), mais en tavaillant comme ça, je ne me souviens pas d'erreur.
A+
 
Re : déclaration variables

Bonjour,
issu de "utiliser les variables en VBA" (Silkyroad) :
- Une Variable déclarée à l'intérieur d'une macro ne sera utilisable qu'à l'intérieur de celle-ci.
- Pour que la variable soit utilisable dans toutes macros du module, celle-ci doit être déclarée en tête du module, avant le premier Sub.
- Pour que la variable soit utilisable dans toutes les macros du projet, il faut utiliser l'instruction Public et la variable doit impérativement être placée en tête d'un module standard.
A+
 
Re : déclaration variables

Bonjour à tous

J'ai mis quelques fichiers ici:

https://www.excel-downloads.com/threads/effacer-toutes-les-variables.149154/

Même pour moi, ce n'est pas toujours simple de savoir si la variable est conservée ou pas . Cela se veut surtout pédagogique 🙂.

Il est vrai qu''en général c'est public qui sert a garder ses variables en mémoire.

Sinon, on peut définir des noms avec Insertion \Nom \Définir. Et la, les variables restent même si on referme le classeur.

Voir ma première damande à ce sujet pour la gestion des chèques sur la version des comptes MJ 2007.

https://www.excel-downloads.com/threads/recuperez-un-nom-defini-en-vb-dans-un-usf.64907/
 
- 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

Discussions similaires

Réponses
6
Affichages
321
Réponses
5
Affichages
648
Deleted member 453598
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…