Afficher un listing "à cocher" dans un userform

Bonjour à tous.

Une nouvelle problématique m'amène à vous.

Dans un de mes outils, je demande à l'utilisateur d'importer des données.

Pour cela, il va chercher un classeur en parcourant l'explorateur windows --> Première question : comment j'insère, en VBA, une fenêtre permettant de sélectionner un fichier en naviguant via l'explorateur de fichiers Windows ?

Ensuite, une fois que le fichier est sélectionné, je sais quelles données récupérer dans une plage fixe, mais je souhaite afficher un listing "à cocher, pour que parmi toutes les valeurs possibles, l'utilisateur puisse choisir lesquelles il importe dans l'outil.

Je voudrais un userform de la forme ci dessous :

Capture

Désolé, ce sont des données pro que je suis obligé de masquer, mais on distingue l'idée de mon userform, avec un listing de valeurs et des case à cocher en face de chaque ligne, pour permettre à l'utilisateur de choisir les données à importer.

Si vous savez quel outil VBA peut m'aider à faire ça, et comment l'intégrer et le coder, je suis preneur.

Merci par avance.

Onafe57.

capture

Bonjour

Un essai à tester. Te convient-il ?

Bye !

19essai-v1.xlsm (19.14 Ko)

Merci pour ta réponse.

Je regarde ça cet après midi ! Je te dirais! 😊

Onafe57

Salut.

Super, c'est le type de fonction que je cherchais.

Juste un détail qu'il faut que j'élucide : dans l'exemple que tu m'as transmis, je ne peux sélectionner que une des options qui s'affichent.

Comment faire si je souhaite que l'utilisateur puisse sélectionner plusieurs lignes pour les importer ?

Et pour la suite, comment je récupère les infos des cases qui ont été cochées pour les intégrer dans mon outil ?

Merci encore pour ton aide en tout cas, c'est top !

Cordialement,

Onafe57.

Re-salut !

Je retire ce que j'ai dis, j'ai trouvé l'option dans le userform pour autoriser le multiselect !

(Je devrais chercher avant de causer moi ... ^^)

Mais reste toujours le problème de récupérer l'info de ce qui a été coché par l'utilisateur ... Si tu peux me donner la pousse là dessus !

Encore merci.

Onafe57

Bonjour

Nouvelle version.

Bye !

9essai-v2.xlsm (24.42 Ko)

Merci ça marche !

Mais j'aimerais juste que tu m'expliques rapidement les quelques lignes qui sont écrites lorsque l'on clique sur valider dans le Userform.

Private Sub CommandButton1_Click()

    k = 0
    For i = 1 To ListBox1.ListCount - 1
         If ListBox1.Selected(i) = True Then
            For j = 0 To 2
                ReDim Preserve tabloR(1 To 3, 1 To k + 1)
                tabloR(j + 1, k + 1) = ListBox1.Column(j, i)
            Next j
            k = k + 1
        End If
    Next i

    ThisWorkbook.Activate
    Range("A2").CurrentRegion.ClearContents
    Range("A2").Resize(UBound(tabloR, 2), 3) = Application.Transpose(tabloR)
    w.Close False
End Sub

Notamment les 4 lignes suivantes :

 For j = 0 To 2
       ReDim Preserve tabloR(1 To 3, 1 To k + 1)
       tabloR(j + 1, k + 1) = ListBox1.Column(j, i)
Next j

Tu utilises un tableau me semble t il mais j'ai du mal à tout saisir pour adapter les lignes à mon outil.

Et j'ai du mal aussi à saisir les 3 dernières lignes avant le End Sub.

Merci pour tous ces éclaircissements et pour le temps passé pour ces versions.

Onafe57

Le même avec macro commentée.

Bye !

12essai-v2-b.xlsm (24.32 Ko)
Rechercher des sujets similaires à "afficher listing cocher userform"