[VBA] Appel de UserForm

Résolu
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
Configuration: Windows 2000
Internet Explorer 6.0

5 réponses

  1. 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
    1. 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
  2. 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
    1. Ouais, normalement ça sert à ça, mais si il veut pas, tu peux mettre Unload UserForm1, ça devrait marcher...

      Bon courage !
      0
      1. 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
      2. @RtomJe 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
      3. 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
    2. S'il vous plait qui pourrai me dire comment ouvrir le truc userform chui nul en informatique
      0
      1. 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