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

Autres Alimenter un ComboBox

AIXELS

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous les Amis du Forum.
Je reviens vers vous une fois de plus. J'ai besoin de vos lumières.
J'ai récupéré un fichier sur le net, que j'ai remanié et amélioré.
Je vous le joins en pièce attachée.
Le but de ce fichier, est de faire des recherches sur une base avec
avec la fonction LET et FILTRE. (Formule jointe)
J'aurais souhaité remplacer les TextBox par des ComboBox (Contrôle Activex)
pour chaque rubrique de recherche (Commercial, Ville, Région, Client, Type)
et ne pas avoir à saisir les données.

Je ne sais pas comment les alimenter par les diverses rubriques correspondants
à chaque rubrique. (Commercial, Ville, Région, Client, Type)

Ci-dessous image écran.



Merci pour votre aide.
bien cordialement.
 

Pièces jointes

  • ALIMENTATION COMBOBOX.xlsm
    91 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Aixels,
Une tentative en PJ avec :
VB:
Sub Worksheet_Activate()
    Dim T, Noms, C%
    Application.ScreenUpdating = False
    Noms = Array("", "Commercial", "Ville", "Région", "Client", "Type") ' Liste des noms de listes
    T = Sheets("BASE FILTRES").[A1].CurrentRegion                       ' Base dans array
     With Sheets("Listes")
        .[A1].Resize(UBound(T, 1), UBound(T, 2)) = T                    ' Tranfert base dans feuille Listes
        .[F:G].ClearContents                                            ' Efface date et pris
        ' Pour les 5 listes, on upprime les doublons, on tri en alpha, et on nomme les listes
        ' A noter que les combobox ont pour listes les noms attribuées aux listes
        For C = 1 To 5
            .Range(.Cells(1, C), .Cells(1000, C)).RemoveDuplicates Columns:=1, Header:=xlYes
            .Range(.Cells(1, C), .Cells(1000, C)).Resize(1000).Sort key1:=.Cells(1, C), order1:=xlAscending, Header:=xlYes
            DL = .Cells(1000, C).End(xlUp).Row
            ActiveWorkbook.Names(Noms(C)).RefersTo = .Range(.Cells(2, C), .Cells(DL, C))
        Next C
    End With
End Sub
Cette macro extrait de base filtres les 5 listes qui sont sans doublons et triées en alpha.
J'ai créé une feuille Listes pour uy mettre les 5 listes.
J'ai choisi arbitrairement que pour mettre à jour les listes il faut sélectionner la feuille Listes ( uniquement utile si les données ont changées dans Base Filtre )
1- J'ai remplacer les Textbox par des Combobox
2- Chaque Combobox à son paramètre ListFillRange avec le bon nom de liste.

Attention, je n'ai pas modifié vos macros TextBox N_Change car il n'y a plus de textbox. A vous de les modifier comme vous le souhaitez.
 

Pièces jointes

  • ALIMENTATION COMBOBOX.xlsm
    72.2 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Une autre approche est de supprimer les Combobox et de mettre des listes déroulantes.
Cela simplifie ensuite les codes de gestion car on ne manipule que des cellules.
La macro reste la même.
 

Pièces jointes

  • ALIMENTATION COMBOBOX V2.xlsm
    65 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Désolé, les extractions ne fonctionnent pas.
Qu'entendez vous par "extraction" ?
La mise à jour des listes ou la mise à disposition des listes dans les combobox ?
Ca ne marche pas sur ma PJ ou dans votre fichier que vous auriez modifié ?
ou dans ma 1ere PJ ou dans ma seconde ?
Je ne comprends pas pourquoi.
Si vous ne donnez pas de détails supplémentaires, alors je ne peux rien faire.

Perso, j'obtiens cela pour tester la fonctionnalité :
 
Dernière édition:

AIXELS

XLDnaute Occasionnel
Supporter XLD
Bonjour @sylvanu
Merci pour votre réponse.
Les cellules liées n'étaient pas renseignées dans les ComboBox
c'est pour cela que les filtres n'étaient actifs en temps réel.

Je n'avais jamais utilisé les comboBox en Activex.
C'est pour ça que j'ai demandé de l'aide.

Bien cordialement
 

AIXELS

XLDnaute Occasionnel
Supporter XLD
Re @sylvanu
J'ai testé la version avec les ComboBox, après la mise à jour
des cellules liées à la sélection à savoir :
- ComboBox2 lié à Commercial (Report de la sélection en A1)
- ComboBox Ville lié à Ville (Report de la sélection en A2)
- ComboBox Région lié à Région (Report de la sélection en A3)
J'ai testé la version avec les ComboBox, après la mise à jour
des cellules liées à la sélection à savoir :
- ComboBox2 lié à Commercial (Report de la sélection en A1)
- ComboBox Ville lié à Ville (Report de la sélection en A2)
- ComboBox Région lié à Région (Report de la sélection en A3)
- ComenboBox Client lié à Client (Report de la sélection en A4)
- ComboBoxType lié à Type (Report de la sélection en A5)
Les filtres sont actifs et ça foctionne très bien.

En revanche, dans la version 2 avec les listes de validation, je
je ne vois pas comment faire le lien avec la sélection des
choix des listes de validation.
Comment et où peut-on lier comme les ComboBox (A1-A2-A3-A4-A5)
qui correspondent aux filtres choisis.
Merci pour votre aide.
Bien cordialement.
 

AIXELS

XLDnaute Occasionnel
Supporter XLD
Re
Désolé, je dois mal m'exprimer.
Une liste de validation ne pose pas de problème.
Si vous relancez le fichier que j'ai envoyé, lorsque je choisi
un critère avec un filtre, le critère s'affiche en A1, A2, A3, A4, A5
et la fonction LET le transcrit et affiche les résultats des filtres.
Ma question est la suivante avec le fichier en V2, comment établir
les liens entre la sélection dans les listes de validation et les critères
qui doivent s'inscrire en A1, A2, A3, A4, A5.

C'est ce que ne comprend pas.
Lorsque je sélectionne les filtres dans les listes de validation, il ne se passe rien
en A1, A2, A3, A4, A5

Merci pour votre aide.
Bien cordialement.
 

Oneida

XLDnaute Impliqué
Bonjour A vous deux,

Une autre approche avec le code de sylvanu pour liste de validation et un filtre avance pour la recherche

Cependant, pour moi, l'utilisation de combobox serait plus interessante
Vu que c'est de la rechcherche et non de l'ajoout ou modif de Base
- remplissage Combobox Commercial ok sans doublon
-remplissage Combobox Ville en fonction du Choix commercial
-remplissage Combobox Region fonction du choix Ville
-remplissage Combobox Client fonction du choix Region
-remplissage Combobox Type fonction du choix Client
Mais cele n'engage que moi
 

Pièces jointes

  • ALIMENTATION COMBOBOX V2.xlsm
    61.5 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
@AIXELS
Je ne dispose que de XL2007 et la fonction LET lui est inconnue. Donc je ne peux vous aider sur ce point.
@Oneida
Voilà une solution bien sympathique. Pas de Combobox et un filtrage efficace sans ces nombreuses formules dans le tableau .
Il manque la liste déroulante en A2, je l'ai rajouté.
 

Pièces jointes

  • ALIMENTATION COMBOBOX V2 (1).xlsm
    59.9 KB · Affichages: 5

Oneida

XLDnaute Impliqué
Ca roule.
Je pense quand meme que les combobox ont des avantages pour n'avoir que ce qui figure dans la BD pour des saisies donnees
 

Discussions similaires

Réponses
4
Affichages
361
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…