[VBA] Appel de UserForm

Résolu/Fermé
Rtom Messages postés 8 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 4 mai 2007 - 3 mai 2007 à 09:16
 Joudotov - 10 déc. 2010 à 09:34
Bonjour,

petite question qui peut paraître facile :

j'ai une UserForm1 dans laquelle j'ai un menu déroulant avec des noms. J'aimerais choisir le nom désiré (ça c'est fait) et valider mon choix par un bouton "Validation". Cette validation m'appellerais une UserForm2 dans laquelle je retrouverais le nom choisi mais cette fois dans un TextBox.

Merci. :D

5 réponses

xjl Messages postés 232 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 12 juin 2007 183
3 mai 2007 à 11:46
Salut,

t'as essayé de faire un truc du genre:

Dans le onclick de ton bouton validation, tu fais

UserForm2.Textbox1.Value=UserForm1.ComboBox1.Value
Unload.Me
UserForm2.Show

A adapter à ton code... ;-)
2
Rtom Messages postés 8 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 4 mai 2007
3 mai 2007 à 12:02
Ok ca marche, par contre je vois pas a quoi sert le "Unload.Me". C'est pour masquer la UserForm précédente ?! Il me dit qu'il y a une erreur : "Argument non facultatif"...

en tout cas merci :D
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
27 mars 2008 à 18:51
Bonjour,

Pour revenir aux points 1 et 2, plus haut, la syntaxe est Unload Me (sans point). UserForm1.Hide n'est pas conseillé. Unload libère la mémoire et ferme l'objet. Hide masque la fenêtre uniquement, et ne libère pas a mémoire, ce qui peut entrainer des problèmes et ralentir processus.

;o)

Polux
1
xjl Messages postés 232 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 12 juin 2007 183
3 mai 2007 à 13:43
Ouais, normalement ça sert à ça, mais si il veut pas, tu peux mettre Unload UserForm1, ça devrait marcher...

Bon courage !
0
Rtom Messages postés 8 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 4 mai 2007
3 mai 2007 à 14:04
Ok, merci beaucoup. J'ai mis un "UserForm1.Hide" et c'est bon.
Sinon j'ai émis un autre problème sur le forum et peut-être que tu pourrais me donner une piste :

j'aimerais remplir un ComboBox par rapport à une ligne de classeur Excel.
Je m'explique : j'ai un ComboBox, et j'aimerais y intégrer tous le intitulés de colonnes de ma ligne 4, par exemple.
-----Petite variable : je souhaiterais que lorsque j'ajoute ou enlève une colonne, son titre s'ajoute ou s'enlève de ma liste de ComboBox.

Merci.
0
xjl Messages postés 232 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 12 juin 2007 183 > Rtom Messages postés 8 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 4 mai 2007
3 mai 2007 à 14:07
Je sais, j'ai vu l'autre topic, mais je ne gère pas trop en ComboBox, mais si je trouve quelque chose, je te tiens au courant, en attendant tu peux mettre ce sujet comme résolu et passer sur l'autre... ;-)
0
office 2003 ou bien 2007???


voila le code en VB

Option Explicit ''''''''vous oblige de faire les declarations necessaires

Private Sub Worksheet_Activate()
Dim f As Integer ''''''''declarations
ComboBox1.Clear ''''''''nettoyer le combobox
For f = 1 To 20 ''''''''taille de la liste, ici 20 lignes
ComboBox1.AddItem Sheets("sheet2").Range("g" & f) '''''''''''adaptez (sheet2)
Next
ComboBox1.text = " a modifier " '''''''''''"a modifier" va apparaitre
End Sub

Private Sub ComboBox1_Change()
Sheets("sheet1").Range("e3") = ComboBox1.Value '''''''''''adaptez (sheet1) et (e3)
End Sub
0
S'il vous plait qui pourrai me dire comment ouvrir le truc userform chui nul en informatique
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut,
Pour ta question avec les combo box, en fait tu va dans les options de ton Combobox et dans RowSource, tu sélectionne les cellules de la ligne que tu veut extraire
genre A20:R20 (pour les cellules de la ligne 20 de A à R)
Si tu change une valeur dans ce champs , le combobox est aussi changé en même temps.
0