Rapport de message :*
 

Re: boite de dialogue

Titre du sujet : Re: boite de dialogue
par myDearFriend! le 19/06/2014 22:10:04

Bonsoir JACQUOTA, bienvenue sur XLpages.com

Tu trouveras en pièce jointe une façon d'aborder ce type de situation (si j'ai bien interprété ta demande).

J'ai utiliser le code VBA suivant, dans le module de code du Userform :

Option Explicit

' myDearFriend!  -  www.mdf-xlpages.com
' 19/06/2014

Private Sub UserForm_Initialize()
    'INITIALISATION DE LA COMBO
    With ComboBox1
        'On définit le style de combo (pas de saisie utilisateur)
        .Style = fmStyleDropDownList
        'On définit le nombre de colonnes à 5
        .ColumnCount = 5
        'On lui affecte toute la plage de valeurs
        .List() = Sheets("Feuil1").Range("A3:E12").Value
        'On masque les 4 dernières colonnes de la combo
        .ColumnWidths = ";0;0;0;0"
        'On sélectionne la première ligne par défaut
        .ListIndex = 0
    End With
End Sub

Private Sub ComboBox1_Change()
Dim Lign As Byte
    'UNE LIGNE DE COMBO EST SELECTIONNEE
    With ComboBox1
        Lign = .ListIndex
        'On attribue à chaque TextBox les valeurs stockées dans la combo
        TextBox1.Value = .List(Lign, 1)     'NOM-A
        TextBox2.Value = .List(Lign, 4)     'NOM-B
        TextBox3.Value = .List(Lign, 2)     'POINT A
        TextBox4.Value = .List(Lign, 3)     'POINT B
    End With
End Sub

Private Sub CommandButton1_Click()
Dim Lign As Byte
    'VALIDER
    'On réaffecte les valeurs des TextBox dans la combo
    '(c'est l'inverse de ComboBox1_Change() ci-dessus)
    With ComboBox1
        Lign = .ListIndex
        'On attribue à chaque TextBox les valeurs stockées dans la combo
        .List(Lign, 1) = TextBox1.Value     'NOM-A
        .List(Lign, 4) = TextBox2.Value     'NOM-B
        .List(Lign, 2) = TextBox3.Value     'POINT A
        .List(Lign, 3) = TextBox4.Value     'POINT B
        'On dépose les valeurs de la combo dans la feuille
        Sheets("Feuil1").Range("A3:E12").Value = .List()
    End With
    Unload Me
End Sub

Private Sub CommandButton2_Click()
    'ANNULER
    Unload Me
End Sub
 

En espérant que ça puisse te dépanner.

Cordialement,