OVH Cloud OVH Cloud

Comment récupérer une variable ?

2 réponses
Avatar
bartez
Bonjour,

Dans le code VBA du Classeur1, je cherche à tester la valeur d'une variable
"V" déclarée Public dans le module ThisWorkbook du Classeur2.

Quelqu'un aurait-il une idée sur la façon de faire cette manipe ?

2 réponses

Avatar
michdenis
Bonjour Bartez,

Il y a plusieurs façons :

A ) Si ta variable est déclarée "Public" dans un des modules feuille du classeur, il devient un objet de ce module de
Classe et tu peux y faire référence directement dans un autre classeur "OUVERT" sans aucun intermédiaire.

Comme ceci :
'La variable s'appelle Denis
V = Workbooks("AutreClasseur").Worksheets("Feuil1").Denis

Cependant, cela signifie que chaque fois dans le classeur d'origine que tu voudras faire référence à la variable "Denis"
dans ton code, tu devras la faire précéder du nom de son module de classeur : Exemple : a = Feuil1.Denis et non de
cette façon a = Worksheets("Feuil1").Denis

B ) Tu peux mettre la valeur de la variable soit dans une cellule du classeur d'origine , soit dans un "Nom" (du menu
insertion / nom) et y faire référence directement.

Public Denis As Long

Sub OK()
Denis = 25
'Crée un nom "Den" qui prend la valeur de la variable Denis
ThisWorkbook.Names.Add "Den", Denis
End Sub

'Pour récupérer la valeur de cette variable dans un autre classeur :

Dim V As Variant
V = Workbooks("AutreClasseur").Names("den")
V = Right(V, Len(V) - 1)


Salutations!



"bartez" a écrit dans le message de news:
Bonjour,

Dans le code VBA du Classeur1, je cherche à tester la valeur d'une variable
"V" déclarée Public dans le module ThisWorkbook du Classeur2.

Quelqu'un aurait-il une idée sur la façon de faire cette manipe ?
Avatar
bartez
Merci pour les infos, je vais adapter tout ça ce soir.
@+ Bartez

"michdenis" a écrit dans le message de news:

Bonjour Bartez,

Il y a plusieurs façons :

A ) Si ta variable est déclarée "Public" dans un des modules feuille du
classeur, il devient un objet de ce module de

Classe et tu peux y faire référence directement dans un autre classeur
"OUVERT" sans aucun intermédiaire.


Comme ceci :
'La variable s'appelle Denis
V = Workbooks("AutreClasseur").Worksheets("Feuil1").Denis

Cependant, cela signifie que chaque fois dans le classeur d'origine que tu
voudras faire référence à la variable "Denis"

dans ton code, tu devras la faire précéder du nom de son module de
classeur : Exemple : a = Feuil1.Denis et non de

cette façon a = Worksheets("Feuil1").Denis

B ) Tu peux mettre la valeur de la variable soit dans une cellule du
classeur d'origine , soit dans un "Nom" (du menu

insertion / nom) et y faire référence directement.

Public Denis As Long

Sub OK()
Denis = 25
'Crée un nom "Den" qui prend la valeur de la variable Denis
ThisWorkbook.Names.Add "Den", Denis
End Sub

'Pour récupérer la valeur de cette variable dans un autre classeur :

Dim V As Variant
V = Workbooks("AutreClasseur").Names("den")
V = Right(V, Len(V) - 1)


Salutations!



"bartez" a écrit dans le message de news:


Bonjour,

Dans le code VBA du Classeur1, je cherche à tester la valeur d'une
variable

"V" déclarée Public dans le module ThisWorkbook du Classeur2.

Quelqu'un aurait-il une idée sur la façon de faire cette manipe ?