Userform - passer des variables

Le
Sophie
Bonjour à tous !

Je travaille avec Excel 2000. Je me suis créer un Userform et je l'utilise
avec la macro suivante:

--
Option Explicit
Public categorie
Public date1


Sub copier_source()

'définir les chemins source et destination
cheminsource = "c:test"
chemindest = "c:testtravail"
nomdestination = "donnee source.txt"


'*** partie de code pour utiliser une boite de dialogue*********'
'Affichage du userform
'Load UserForm1
'UserForm1.Show
'MsgBox ("categorie = " & categorie & " et date1 = " & date1)
'***************************************************************

*** mon code de traitement ***

End Sub
--




J'ai aussi ce code dans le bouton OK de mon Userform
J'ai un text box et un combobox
-
Private Sub CommandButton1_Click()

categorie = ComboBox1.Value
date1 = TextBox1.Value

MsgBox ("categorie = " & categorie & "et date1 = " & date1)

UserForm1.hide
Unload UserForm1


End Sub
--


Mon problème est que je voudrais utiliser la valeur que retourne mon text
box et mon combobox dans ma procedure mais je teste la valeur en faisant
afficher avec un msgbox mais de retour dans ma procedure, la valeur est
vide.

Est-ce que quelqu'un sait ce que je ne fais pas de bien ?

Aussi, comment remplir mon combobox ? presentement, j'ai mis un bouton dans
mon userform qui le fait quand on clique dessus avec ce code:

--
Private Sub CommandButton3_Click()
'Remplissage de la liste de choix
ComboBox1.AddItem "Cadre"
ComboBox1.AddItem "Soutien"
ComboBox1.AddItem "Horaire"

End Sub



Merci de votre attention.

Sophie
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal Engelmajer
Le #1231860
Salut,
--------------------------
Option Explicit
Public categorie
Public date1
Est-ce bien dans un module standard ?

Et non dans le module de code de l'userform ?

Mon problème est que je voudrais utiliser la valeur que retourne mon text
box et mon combobox dans ma procedure mais je teste la valeur en faisant
afficher avec un msgbox mais de retour dans ma procedure, la valeur est
vide.
Aussi, comment remplir mon combobox ?


il suffit d'écrire dedans en mode création
------------------

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel

Patrick
Le #1231859
Bonjour,

1. Pour remplir la ComboBox automatiquement au moment de l'affiche de la
Form (boite de dialogue), il faut utiliser événement UserForm.Initialize.
Pour afficher une Form, il suffit d'utiliser le code UserForm1.Show.

2. Pour récupérer la valeur d'une zone de texte, il faut utiliser la
propriété Text comme ceci Text1.Text (qui renvoie une donnée de type
String).
Pour récupérer la valeur d'une ComboBox, il faut utiliser sa propriété
ListIndex qui renvoie l'index (la première valeur sélectionnée a l'index 0)
de la valeur sélectionnée. Ensuite, en fonction de cet index, on sait quelle
est la valeur qui lui correspond (dans ton cas, l'index 0 correspond à la
valeur "Cadre").

espère avoir été clair. Bon courage.

--
Patrick

"Sophie" news:%23VutD2%
Bonjour à tous !

Je travaille avec Excel 2000. Je me suis créer un Userform et je
l'utilise

avec la macro suivante:

--------------------------
Option Explicit
Public categorie
Public date1


Sub copier_source()

'définir les chemins source et destination
cheminsource = "c:test"
chemindest = "c:testtravail"
nomdestination = "donnee source.txt"


'*** partie de code pour utiliser une boite de dialogue*********'
'Affichage du userform
'Load UserForm1
'UserForm1.Show
'MsgBox ("categorie = " & categorie & " et date1 = " & date1)
'***************************************************************

*** mon code de traitement ***

End Sub
--------------------------------




J'ai aussi ce code dans le bouton OK de mon Userform
J'ai un text box et un combobox
----------------------------
Private Sub CommandButton1_Click()

categorie = ComboBox1.Value
date1 = TextBox1.Value

MsgBox ("categorie = " & categorie & "et date1 = " & date1)

UserForm1.hide
Unload UserForm1


End Sub
-----------------------------


Mon problème est que je voudrais utiliser la valeur que retourne mon text
box et mon combobox dans ma procedure mais je teste la valeur en faisant
afficher avec un msgbox mais de retour dans ma procedure, la valeur est
vide.

Est-ce que quelqu'un sait ce que je ne fais pas de bien ?

Aussi, comment remplir mon combobox ? presentement, j'ai mis un bouton
dans

mon userform qui le fait quand on clique dessus avec ce code:

-----------------
Private Sub CommandButton3_Click()
'Remplissage de la liste de choix
ComboBox1.AddItem "Cadre"
ComboBox1.AddItem "Soutien"
ComboBox1.AddItem "Horaire"

End Sub
------------------


Merci de votre attention.

Sophie






Nicolas B.
Le #1231858
Salut,

Première question :
UserForm1.hide
Unload UserForm1
Récupère les valeurs avant de faire Unload :


userform1.hide
Valeur=TextBox1.value
unload Userform1


2e question :
Si tu veux remplir ton combobox à l'ouverture du UserForm, tu peux passer
par la procédure événementielle Activate :

Private Sub UserForm_Activate()
'...
End Sub


A+
--
Nicolas B.


Bonjour à tous !

Je travaille avec Excel 2000. Je me suis créer un Userform et je
l'utilise avec la macro suivante:

--------------------------
Option Explicit
Public categorie
Public date1


Sub copier_source()

'définir les chemins source et destination
cheminsource = "c:test"
chemindest = "c:testtravail"
nomdestination = "donnee source.txt"


'*** partie de code pour utiliser une boite de dialogue*********'
'Affichage du userform
'Load UserForm1
'UserForm1.Show
'MsgBox ("categorie = " & categorie & " et date1 = " & date1)
'***************************************************************

*** mon code de traitement ***

End Sub
--------------------------------




J'ai aussi ce code dans le bouton OK de mon Userform
J'ai un text box et un combobox
----------------------------
Private Sub CommandButton1_Click()

categorie = ComboBox1.Value
date1 = TextBox1.Value

MsgBox ("categorie = " & categorie & "et date1 = " & date1)

UserForm1.hide
Unload UserForm1


End Sub
-----------------------------


Mon problème est que je voudrais utiliser la valeur que retourne mon
text box et mon combobox dans ma procedure mais je teste la valeur en
faisant afficher avec un msgbox mais de retour dans ma procedure, la
valeur est vide.

Est-ce que quelqu'un sait ce que je ne fais pas de bien ?

Aussi, comment remplir mon combobox ? presentement, j'ai mis un
bouton dans mon userform qui le fait quand on clique dessus avec ce
code:

-----------------
Private Sub CommandButton3_Click()
'Remplissage de la liste de choix
ComboBox1.AddItem "Cadre"
ComboBox1.AddItem "Soutien"
ComboBox1.AddItem "Horaire"

End Sub
------------------


Merci de votre attention.

Sophie


Pierre CFI [mvp]
Le #1231857
bonjour
déclares tes variables dans un module standart, pas dans le module de classe du form
Insertion/module standart

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Sophie"
Bonjour à tous !

Je travaille avec Excel 2000. Je me suis créer un Userform et je l'utilise
avec la macro suivante:

--------------------------
Option Explicit
Public categorie
Public date1


Sub copier_source()

'définir les chemins source et destination
cheminsource = "c:test"
chemindest = "c:testtravail"
nomdestination = "donnee source.txt"


'*** partie de code pour utiliser une boite de dialogue*********'
'Affichage du userform
'Load UserForm1
'UserForm1.Show
'MsgBox ("categorie = " & categorie & " et date1 = " & date1)
'***************************************************************

*** mon code de traitement ***

End Sub
--------------------------------




J'ai aussi ce code dans le bouton OK de mon Userform
J'ai un text box et un combobox
----------------------------
Private Sub CommandButton1_Click()

categorie = ComboBox1.Value
date1 = TextBox1.Value

MsgBox ("categorie = " & categorie & "et date1 = " & date1)

UserForm1.hide
Unload UserForm1


End Sub
-----------------------------


Mon problème est que je voudrais utiliser la valeur que retourne mon text
box et mon combobox dans ma procedure mais je teste la valeur en faisant
afficher avec un msgbox mais de retour dans ma procedure, la valeur est
vide.

Est-ce que quelqu'un sait ce que je ne fais pas de bien ?

Aussi, comment remplir mon combobox ? presentement, j'ai mis un bouton dans
mon userform qui le fait quand on clique dessus avec ce code:

-----------------
Private Sub CommandButton3_Click()
'Remplissage de la liste de choix
ComboBox1.AddItem "Cadre"
ComboBox1.AddItem "Soutien"
ComboBox1.AddItem "Horaire"

End Sub
------------------


Merci de votre attention.

Sophie






Julien
Le #1231855
Salut,

quand tu fais :
UserForm1.hide : tu caches la fenêtre qui reste en mémoire avec ses données
(notamment le contenu des textbox et autre contrôles)

Et quand tu fais
Unload UserForm1 : tu effaces la fenêtre de la mémoire (et ses données) et
donc de l'écran.

Il vaut mieux que tu fasses :

UserForm1.hide
' Insère ici le traitement des données saisie dans les text/combobox
unload userform1 'pour définitivement effacer UserForm1

Julien

"Sophie" news:%23VutD2%
Bonjour à tous !

Je travaille avec Excel 2000. Je me suis créer un Userform et je
l'utilise

avec la macro suivante:

--------------------------
Option Explicit
Public categorie
Public date1


Sub copier_source()

'définir les chemins source et destination
cheminsource = "c:test"
chemindest = "c:testtravail"
nomdestination = "donnee source.txt"


'*** partie de code pour utiliser une boite de dialogue*********'
'Affichage du userform
'Load UserForm1
'UserForm1.Show
'MsgBox ("categorie = " & categorie & " et date1 = " & date1)
'***************************************************************

*** mon code de traitement ***

End Sub
--------------------------------




J'ai aussi ce code dans le bouton OK de mon Userform
J'ai un text box et un combobox
----------------------------
Private Sub CommandButton1_Click()

categorie = ComboBox1.Value
date1 = TextBox1.Value

MsgBox ("categorie = " & categorie & "et date1 = " & date1)

UserForm1.hide
Unload UserForm1


End Sub
-----------------------------


Mon problème est que je voudrais utiliser la valeur que retourne mon text
box et mon combobox dans ma procedure mais je teste la valeur en faisant
afficher avec un msgbox mais de retour dans ma procedure, la valeur est
vide.

Est-ce que quelqu'un sait ce que je ne fais pas de bien ?

Aussi, comment remplir mon combobox ? presentement, j'ai mis un bouton
dans

mon userform qui le fait quand on clique dessus avec ce code:

-----------------
Private Sub CommandButton3_Click()
'Remplissage de la liste de choix
ComboBox1.AddItem "Cadre"
ComboBox1.AddItem "Soutien"
ComboBox1.AddItem "Horaire"

End Sub
------------------


Merci de votre attention.

Sophie






Cad
Le #1231679
pour la deuxieme partie de ta question il faut placer ton
code dans

Private Sub UserForm_Initialize()
ComboBox1.AddItem "Cadre"
ComboBox1.AddItem "Soutien"
ComboBox1.AddItem "Horaire"

end sub





-----Message d'origine-----
Bonjour à tous !

Je travaille avec Excel 2000. Je me suis créer un
Userform et je l'utilise

avec la macro suivante:

--------------------------
Option Explicit
Public categorie
Public date1


Sub copier_source()

'définir les chemins source et destination
cheminsource = "c:test"
chemindest = "c:testtravail"
nomdestination = "donnee source.txt"


'*** partie de code pour utiliser une boite de
dialogue*********'

'Affichage du userform
'Load UserForm1
'UserForm1.Show
'MsgBox ("categorie = " & categorie & " et date1 = " &
date1)

'*********************************************************
******


*** mon code de traitement ***

End Sub
--------------------------------




J'ai aussi ce code dans le bouton OK de mon Userform
J'ai un text box et un combobox
----------------------------
Private Sub CommandButton1_Click()

categorie = ComboBox1.Value
date1 = TextBox1.Value

MsgBox ("categorie = " & categorie & "et date1 = " &
date1)


UserForm1.hide
Unload UserForm1


End Sub
-----------------------------


Mon problème est que je voudrais utiliser la valeur que
retourne mon text

box et mon combobox dans ma procedure mais je teste la
valeur en faisant

afficher avec un msgbox mais de retour dans ma procedure,
la valeur est

vide.

Est-ce que quelqu'un sait ce que je ne fais pas de bien ?

Aussi, comment remplir mon combobox ? presentement, j'ai
mis un bouton dans

mon userform qui le fait quand on clique dessus avec ce
code:


-----------------
Private Sub CommandButton3_Click()
'Remplissage de la liste de choix
ComboBox1.AddItem "Cadre"
ComboBox1.AddItem "Soutien"
ComboBox1.AddItem "Horaire"

End Sub
------------------


Merci de votre attention.

Sophie




.



Sophie
Le #1229155
Merci à tous de vos très bons conseils, ça fonctionne très bien.

J'ai fait le traitement de mes valeurs avant de faire le unload de la boite
et pour ma 2e question, j'ai utilisé userform_initialize.


Merci encore

Sophie
Publicité
Poster une réponse
Anonyme