Durée de vie d'une variable

SerGoy

XLDnaute Junior
Bonjour à tous

Bon selon mes recherche il semble que la valeur donnée à une variable ne dure que le temps d'exécution de la macro qui la comprend.

Ceci dit, est-il possible de transporter la valeur d'une variable vers une autre macro qui comporte le même nom de variable ?
 

CBernardT

XLDnaute Barbatruc
Re : Durée de vie d'une variable

Bonjour SerGoy,

Tu peux utiliser la valeur d'une variable dans une autre macro qui comporte la même variable.

Deux conditions :

1- La déclarer en tant que Public : Instruction utilisée au niveau module pour déclarer des variables publiques et attribuer de l'espace de stockage.

2- Ne pas redéclarer la variable dans la seconde macro.

Cordialement

Bernard
 

SerGoy

XLDnaute Junior
Re : Durée de vie d'une variable

Salut CBernardT

Un peu de Chinois là... Comment je fais pour déclarer une variable Public ??? Aussi, est-ce que la valeur de cette variable peut changer en cours de route ???

Idée:
Sub CopierVersJuinTest()
Dim OngletDe, OngletVers As String
OngletDe = ActiveSheet.Name
OngletVers = "Juin"
If OngletDe = OngletVers Then End
Application.Run "DéplacerVers"
End Sub

En progressant dans le fichier, la valeur des variables OngletDe et OngletVers peuvent changer...
 

mromain

XLDnaute Barbatruc
Re : Durée de vie d'une variable

bonjour SerGoy, CBernardT

Salut CBernardT

Un peu de Chinois là... Comment je fais pour déclarer une variable Public ??? Aussi, est-ce que la valeur de cette variable peut changer en cours de route ???

Idée:
Sub CopierVersJuinTest()
Dim OngletDe, OngletVers As String
OngletDe = ActiveSheet.Name
OngletVers = "Juin"
If OngletDe = OngletVers Then End
Application.Run "DéplacerVers"
End Sub

En progressant dans le fichier, la valeur des variables OngletDe et OngletVers peuvent changer...

Pour appliquer ce qu'a dit CBernardT à ton code, ça donne ça :
Code:
'en début de module :
Public OngletDe as String
Public OngletVers as String

Sub CopierVersJuinTest()
    OngletDe = ActiveSheet.Name
    OngletVers = "Juin"
    If OngletDe = OngletVers Then End
    Application.Run "DéplacerVers"
End Sub

et là, tu pourras les utiliser dans d'autres macros (et modules)

a+
 

Discussions similaires

Statistiques des forums

Discussions
312 538
Messages
2 089 400
Membres
104 159
dernier inscrit
isbouk