Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Créer combobox

  • Initiateur de la discussion Initiateur de la discussion hazein
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

H

hazein

Guest
Bonjour je souhaite créer un combobox sur la feuille 3 dans lequel je souhaite récupérer automatiquement les catégories (fruits et légumes) présent sur la feuille 1.
Vous trouverez en pièce jointe le fichier excel.
Merci d'avance
 

Pièces jointes

Re : Créer combobox

Bonjour Hazein, bonjour le forum,

Pourrais-tu préciser où se trouvent les fuits et légumes présents dans l'onglet Feuil1 ? Je n'en vois aucun ! Un fichier exemple c'est bien mais si les données sont significatives ou les explications claires, sinon ça sert a rien...

Maintenant, si tu veux alimenter la ComboBox1 (issue de la barre d'outils Boîte à outils Contrôles) par la liste triée et sans doublons des cellules de la colonne A de l'onglet Feuil1, je te propose le code ci-dessous :

Code:
Option Compare Text 'pas de différence enrte majuscule et minuscule (a = A)

Private Sub ComboBox1_GotFocus() 'au clic dans la ComboBox1
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable Pl (PLage)
Dim dico As Object 'déclare la variable dico (DICtiOnnaire)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim temp As Variant 'déclare la variable temp (Tableau TEMPoraire)

With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
    dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligné éditée dl de la colonne 1 (=A)
    Set pl = .Range("A2:A" & dl) 'définit la plage pl
End With 'fin de la prose en compte de l'onglet "Feuil1"
Set dico = CreateObject("Scripting.Dictionary") 'définit la dictionnaire dico
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
    dico(cel.Value) = "" 'alimente le dictionnaire dico
Next cel 'prochaine cellule de la boucle
temp = dico.keys 'récupère les données du dictionnaire sans doublon
Call tri(temp, LBound(temp), UBound(temp)) 'lance la procédure de tri alphabétique
Me.ComboBox1.List = temp 'alimente la ComboBox1 d'une liste triée sans doublons
End Sub


Sub tri(a As Variant, gauc As Integer, droi As Integer) 'tiré du site de Jacques BOISGONTIER : [url=http://boisgontierjacques.free.fr/]Formation Excel VBA JB[/url]
Dim ref As String
Dim g As Integer, d As Integer
Dim tmp As String
ref = a((gauc + droi) \ 2)
g = gauc: d = droi
Do
    Do While a(g) < ref: g = g + 1: Loop
    Do While ref < a(d) < ref: d = d - 1: Loop
    If g <= d Then
        tmp = a(g): a(g) = a(d): a(d) = tmp
        g = g + 1: d = d - 1
    End If
Loop While g <= d
If g < droi Then Call tri(a, g, droi)
If gauc < d Then Call tri(a, gauc, d)
End Sub
Le fichier :
 

Pièces jointes

Re : Créer combobox


Dsl, je ferais attention la prochaine fois.
 
Re : Créer combobox

Bonjour Hazein ! Bonjour le forum,

Oui une idée... ! Commence par indiquer quelle ligne de code plante et parfois, même comme ça, sans le contexte, on n'arrive pas a comprendre. Prend donc l'habitude de joindre ton fichier et d'être clair.
Je commence à comprendre les coups de gueule de JM car c'est pénible de rabâcher toujours les mêmes choses...
Que de patience !...
 
Re : Créer combobox

C'est bon j'ai trouvé mon erreur. Promis je ferais attention dorénavant. J'aimerai avoir ton avis sur le fichier. Ce que je voudrais c'est changer le contenu de mon tableau en fonction de la catégorie choisit à l'aide du combobox (j'ai plus ou moins bien réussi cette partie). En revanche je n'arrive pas à récupérer les types correspondant aux catégories respectives. J'ai mis en pièce jointe le fichier excel.
Merci d'avance!!! Et encore dsl.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
148
Réponses
2
Affichages
145
Réponses
4
Affichages
224
Deleted member 453598
D
Réponses
37
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…