Tableau excel en liste dans UserForm
Résolu/Fermé
cestsupergenial
Messages postés
17
Date d'inscription
mercredi 25 mai 2016
Statut
Membre
Dernière intervention
13 février 2017
-
13 févr. 2017 à 09:19
cestsupergenial Messages postés 17 Date d'inscription mercredi 25 mai 2016 Statut Membre Dernière intervention 13 février 2017 - 13 févr. 2017 à 12:07
cestsupergenial Messages postés 17 Date d'inscription mercredi 25 mai 2016 Statut Membre Dernière intervention 13 février 2017 - 13 févr. 2017 à 12:07
A voir également:
- Tableau excel en liste dans UserForm
- Liste déroulante excel - Guide
- Trier tableau excel - Guide
- Tableau word - Guide
- Excel liste déroulante en cascade - Guide
- Tableau ascii - Guide
3 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
13 févr. 2017 à 11:29
13 févr. 2017 à 11:29
Bonjour CSG, bonjour le forum,
Essaie avec le code ci-dessous :
Essaie avec le code ci-dessous :
Private TV As Variant 'déclare la variable TV (Tableau des Valeurs) Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm Dim O As Worksheet 'déclare la variable O (Onglet) Dim D As Object 'déclare la variable D (Dictionnaire) Dim I As Integer 'déclare la variable I (Tableau des Valeurs) Set O = Worksheets("BD") 'définit l'onglet O TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV Set D = CreateObject("Scripting.Dictionary") 'définit le dictionnaire D For I = 2 To UBound(TV) 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde D(TV(I, 1)) = "" 'alimente le dictionnaire D avec les valeur des données en comlonne 1 de TV Next I 'prochaine ligne de la boucle 'alimente la ComboBox [champ_groupe] avec la liste des éléments du dictionnaire D sans doublon Me.champ_groupe.List = D.keys End Sub Private Sub champ_groupe_Change() Dim D As Object Dim I As Integer Me.champ_marque.Clear Me.champ_modele.Clear Me.champ_date.Clear Me.champ_stock.Clear Set D = CreateObject("Scripting.Dictionary") For I = 2 To UBound(TV, 1) If TV(I, 1) = Me.champ_groupe Then D(TV(I, 2)) = "" Next I Me.champ_marque.List = D.keys End Sub Private Sub champ_marque_Change() Dim D As Object Dim I As Integer Me.champ_modele.Clear Me.champ_date.Clear Me.champ_stock.Clear Set D = CreateObject("Scripting.Dictionary") For I = 2 To UBound(TV, 1) If TV(I, 1) = Me.champ_groupe And Me.champ_marque = TV(I, 2) Then D(TV(I, 3)) = "" Next I Me.champ_modele.List = D.keys End Sub Private Sub champ_modele_Change() Dim D As Object Dim I As Integer Me.champ_date.Clear Me.champ_stock.Clear Set D = CreateObject("Scripting.Dictionary") For I = 2 To UBound(TV, 1) If TV(I, 1) = Me.champ_groupe And Me.champ_marque = TV(I, 2) _ And Me.champ_modele = TV(I, 3) Then D(TV(I, 5)) = "" Next I Me.champ_date.List = D.keys End Sub Private Sub champ_date_Change() Dim D As Object Dim I As Integer Me.champ_stock.Clear For I = 2 To UBound(TV, 1) If TV(I, 1) = Me.champ_groupe And Me.champ_marque = TV(I, 2) _ And Me.champ_modele = TV(I, 3) And Me.champ_date = CStr(TV(I, 5)) Then Me.champ_stock.AddItem TV(I, 4) Next I End Sub
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
13 févr. 2017 à 11:33
13 févr. 2017 à 11:33
Bonjour a tous,
Fichier sans dictionary, avec subroutines de recherche fonction objet
https://www.cjoint.com/c/GBnkGNoCgRf
Fichier sans dictionary, avec subroutines de recherche fonction objet
https://www.cjoint.com/c/GBnkGNoCgRf
cestsupergenial
Messages postés
17
Date d'inscription
mercredi 25 mai 2016
Statut
Membre
Dernière intervention
13 février 2017
13 févr. 2017 à 12:01
13 févr. 2017 à 12:01
Merci à tous les deux !
@f894009, ta solution est pile poil ce que je cherchais, merci bien !
Par contre, pour que je comprenne, à quoi sert ColCrit dans ce que tu as fait ?
@f894009, ta solution est pile poil ce que je cherchais, merci bien !
Par contre, pour que je comprenne, à quoi sert ColCrit dans ce que tu as fait ?
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
13 févr. 2017 à 12:07
13 févr. 2017 à 12:07
Re,
Ben, c'est la colonne ou il y a la valeur de la combobox selectionnee!!!
Ben, c'est la colonne ou il y a la valeur de la combobox selectionnee!!!
cestsupergenial
Messages postés
17
Date d'inscription
mercredi 25 mai 2016
Statut
Membre
Dernière intervention
13 février 2017
>
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
13 févr. 2017 à 12:07
13 févr. 2017 à 12:07
super merci !