Les boîtes de dialogue

Boite de dialogue avec liste déroulante à 2 colonnes.Retour au menu Contrôles divers

        Le Userform (DlgChoix)

        Les contrôles

 
      Nom de la ComboBox = ListeClients
      Nom du CommandButton "OK" = OK
      Nom du CommandButton "Annuler" = Annuler

        Quelques propriétés du contrôle ListeClients

 
ColumnCount = 2 (Nbre de colonne à afficher dans une zone de liste)
ColumnWidths = 40 (Largeur de chaque colonne d'une zone
                                de liste à plusieurs colonnes)
Height = 18 (Hauteur en points d'un objet)
ListWidth = 190 (Largeur de la liste d'un contrôle ComboBox)
Width = 78 (largeur en points d'un objet)

        Le code

        Code lançant l'ouverture de la boîte de dialogue

 
Sub AfficheListeDeroulante()
      DlgChoix.Show
End Sub

        Code d'initialisation du formulaire

 
Private Sub UserForm_Initialize()
' Les données proviennent de la feuille Feuil1 et sont dans les colonnes A et B
       With Sheets("Feuil1").Range("A1")
              Me.ListeClients.RowSource = Range(.Cells, .End(xlDown)(1, 2)).Address(External:=True)
       End With
End Sub

        Code d'activation du formulaire

 
Private Sub UserForm_Activate()
' Effacement des données de la plage qui reçoit les items sélectionnés (colonnes D et E)
       Range("D1:E1", Cells(ListeClients.ListCount, 4)).Clear
End Sub

        Code des boutons

       1 / Bouton OK
 
Private Sub OK_Click()
       DlgChoix.Hide
       If ListeClients.ListIndex <> -1 Then
' Récupération du code et du nom du client
              Sheets("Feuil1").Cells(1, 4).Value = ListeClients.Column(0, ListeClients.ListIndex)
              Sheets("Feuil1").Cells(1, 5) = ListeClients.Column(1, ListeClients.ListIndex)
End If
End Sub
        2 / Bouton Annuler
 
Private Sub Annuler_Click()
      DlgChoix.Hide
End Sub

        Le résultat par rapport à la sélection dans le formulaire
        (voir image du Userform au début de la page)

Retour au début de document

Retour au début du document