VBA - Récupération de valeurs fermture UserForm Help

calimero75

XLDnaute Nouveau
Bonjour à tous,

j'aimerai récupérer des valeurs saisies dans un UserForm nommé "Date_Select" une fois celui-ci fermé mais je ne sais pas comment faire et ne trouve pas sur le forum.

Mon UserForm "Date_Select" est trés simple et ressemble à ca :
image.JPG
Il est appelé lors de l'exécution d'une macro afin de préciser la date à prendre en compte lors de son traitement...
Le code de l'UserForm est celui-ci :
...
Private Sub CommandButton1_Click()
' j'aimerai appeler UserForm_QueryClose afin de fermer l'userform
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
jour = TextBox1.Value
mois = TextBox2.Value
année = TextBox3.Value
'je dois récupérer ces variables dans la macro qui appel la UserForm
End Sub


J'aimerai le récupérer de cette manière dans ma macro :
Sub MAJ_Activié()

Date_Select.Show
DateDuJour = DateSerial(jour, mois, année)
...

Seulement voila, les variables jour,mois, année ne sont pas récupérée par la macro. De plus je ne sais pas comment utiliser les bouton "Valider" qui est le sub "CommandButton1_Click()"

J'ai donc un grand besoin d'aide ! :D Un grand merci à tous.
 

Pièces jointes

  • image.JPG
    image.JPG
    8.1 KB · Affichages: 548
  • image.JPG
    image.JPG
    8.1 KB · Affichages: 549

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA - Récupération de valeurs fermture UserForm Help

Bonjour Caliméro, bonjour le forum,

Problème de portée des variables... Un variable déclarée dans une UserForm meurt à la fermeture de celle-ci. Il te faut déclarer tes variables comme PUBLIQUE. Mais cela ne peut pas ête fait dans une UserForm mais seulement dans un module au tout début, avant les éventuelles procédures :
Code:
Public madate As Date
En pièce jointe un petit exemple en reprenant ta structure. Clique sur le bouton Date, une UserForm s'ouvre avec par défaut la date du jour, tu renseignes la date que tu désires et tu valides. Un message te montrera la date que tu as éditée malgré que l'UserForm soit fermée car la variable madate a été déclarée comme publique dans le module1. La variable madate est incrite alors dans la cellule A1 de l'onglet Feuil1.


[Édition]
Jette un coup d'œil sur le remarquable travail sur le sujet de Mydearfriend
 

Pièces jointes

  • Calimero_v01.xls
    39.5 KB · Affichages: 638
Dernière édition:

calimero75

XLDnaute Nouveau
Re : VBA - Récupération de valeurs fermture UserForm Help

Bonjour robert,

Un grand merci :D
Effectivement je ne risquais pas de trouver car je ne savais pas que les variables d'une UserForm étaient éphémére !!!
Tu me retire une belle écharde du pied merci beaucoup.

Ps : Je cherchais en plus justement comment contröler les dates saisies dans les TextBox :eek:
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA - Récupération de valeurs fermture UserForm Help

Bonjour Calimero, bonjour le forum,

Je venait juste d'éditer mon post ! Alors pour pas que tu ne le loupes, je le remarque ici : Jette un coup d 'œil sur le remarquable travail de Mydearfriend sur ce sujet...
 

calimero75

XLDnaute Nouveau
Re : VBA - Récupération de valeurs fermture UserForm Help

Moi qui débute en VBA :D Un bon tuto dans mes favoris !
Je me sent maintenant obligé de passer sur toutes mes macros afin de les optimiser :p

Tiens, ceci me fait penser. Peut-on initialiser un enssemble de variables de la sorte ?

V1, V2, V3, V3, V4, V5 .... = 0

Je n'y arrive pas et ce serait pratique quand il y en a beaucoup !

Encore merci Robert
 

Gorfael

XLDnaute Barbatruc
Re : VBA - Récupération de valeurs fermture UserForm Help

Salut calimero75 et leforum
Code:
Tiens, ceci me fait penser. Peut-on initialiser un enssemble de variables de la sorte ?
Pas assez d'éléments pour aider de manière efficace.

Juste une remarque : Quand tu déclares une variable nombre, elle est égale à 0. Pour une variable string elle est à "", pour les autres elles sont à nothing.
A+
 

kiki29

XLDnaute Barbatruc
Re : VBA - Récupération de valeurs fermture UserForm Help

Salut, qqs remarques pourquoi ne pas utiliser un DTPicker
s'il s'agit de conserver des valeurs entre différentes sessions d'Excel il faudra penser aux bons vieux fichiers INI
 

Discussions similaires

Statistiques des forums

Discussions
312 099
Messages
2 085 273
Membres
102 846
dernier inscrit
gilles45