Portée de la variable : d'un userform à un module

thomasmbai

XLDnaute Nouveau
Bonjour,

Dans le tableau ci-joint j'ai deux userform. Dans chacun des deux, j'ai une variable à laquelle j'accorde une valeur. Je voudrais garder en mémoire cette valeur pour pouvoir la récupérer dans un module. Pouvez vous m'aider s'il vous plait ?



Merci
 

Pièces jointes

  • userform_test_V2.xlsm
    23.9 KB · Affichages: 41
C

Compte Supprimé 979

Guest
Re : Portée de la variable : d'un userform à un module

Bonjour Thomasmbai

Il suffit de déclarer ta variable Public dans le module justement

En entête de d'un module, il faut mettre
Code:
Public MaVariable As String

A+
 

thomasmbai

XLDnaute Nouveau
Re : Portée de la variable : d'un userform à un module

Bonjour,

Merci BrunoM45 et JP pour vos réponses. J'ai essayé de les déclarer en public mais ca ne fonctionne pas.

Soit la variable Date_saisie déclarée en public dans le module n'est pas liée avec la variable Date_saisie dans le userform. Et dans ce cas elles ont donc deux valeurs différentes.

Soit c'est que la variable ne garde pas sa valeur quand on sort du userform.

Quelqu'un pourrait il m'aider s'il vous plait ?
 
C

Compte Supprimé 979

Guest
Re : Portée de la variable : d'un userform à un module

Salut,

Tout d'abord il va falloir nous dire ce que tu veux faire exactement !?

Car ton fichier n'est pas très compréhensible ;)

A+
 

thomasmbai

XLDnaute Nouveau
Re : Portée de la variable : d'un userform à un module

En fait c'est très simple, j'ai un userform qui s'appelle "Options_delestage" dans lequel j'ai une variable choix_delestage(XX) où XX correspond au numéro de la ligne du tableau créé dans le userform. Je souhaite pouvoir récupérer la valeur de cette variable dans un module.
Exemple, quand je lance le userform, je remplis le deuxième radioo bouton, cela donne une valeur à choix_delestage(21). Si je lance ensuite un sub dans le module1 avec msgbox(choix_delestage(21)), je voudrais qu'il me renvoi la valeur affectée dans le userform.

Autre exemple, quand je lance le userform1, je dois renseigner une date supérieure à celle d'aujourd'hui. Cette date s'inscrit ensuite dans la variable "date_saisie". Je voudrais, lorsque je lance un sub msgbox(date_saisie) qu'il renvoi la date renseignée au cours de l'execution du userform.

Je pense, mais je ne suis pas un expert, que le fait d'avoir déclaré mes variables en public crée bien un lien entre le sub et les userform. Aussi le problème viendrait plus du fait qu'une fois que je sors du userform, la valeur des variables n'est pas gardée en mémoire.

J'ai remis le fichier avec le code un peu nettoyé et les variables déclarées en public
 

Pièces jointes

  • userform_test_V3.xlsm
    21.7 KB · Affichages: 38
C

Compte Supprimé 979

Guest
Re : Portée de la variable : d'un userform à un module

Re,

Tout dabord, est-ce que ce code te parait normal !?
Public date_saisie As Date
Public choix_delestage(100) As String

Sub test_userform1()
Dim date_saisie As Date
MsgBox (date_saisie)
End Sub

Si tu défini une variable Public, il ne faut surtout pas la redéfinir ailleurs !

A+
 

Discussions similaires

Réponses
3
Affichages
159
Réponses
0
Affichages
231

Statistiques des forums

Discussions
312 492
Messages
2 088 926
Membres
103 984
dernier inscrit
maliko67