Petit réglage VBA pour lsite déroulante

  • Initiateur de la discussion Initiateur de la discussion mamatt62
  • 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 !

M

mamatt62

Guest
Bonjour à tous,

vous verrez dans le fichier joint un USF en page 2 avec trois liste déroulante. Ma demande n'est pas bien compliquée en effet voici le code que j'ai actuellement:

Private Sub CbBMarques1_Change()
' Vider la combobox des modèles avant de la remplir
Me.ComboBox1.Clear
Me.ComboBox3.Clear
' Vider la Listbox des options et prix
Me.ListBox1.Clear
' Pour chaque marque de la zone
For Each Cel In Range("Marques")
If Cel = Me.CbBMarques1 Then
Me.ComboBox1.AddItem Cel.Offset(2, 0).Value
Me.ComboBox3.AddItem Cel.Offset(1, 0).Value
End If
Next Cel
End Sub

Le problème c'est que pour ma première ListBox j'ai les marques, dans la deuxième les modèles et la troisième les motorisations.

Ce que j'aimerai c'est avoir les motorisations en fonction des modèles comme j'ai les modèles en fonction des marques.

Cependant je n'arrive pas car j'ai pour la Mii ou La Up, le modèle se décrit autant de fois qu'il est présent dans la base de données or j'aimerai ne l'avoir qu'une fois ( c'est à dire supprimer les doublons).

Merci pour votre aide
 

Pièces jointes

Re : Petit réglage VBA pour lsite déroulante

Par contre Bruno, il y a un truc d'étrange, si je remplis les champs et qu'au final je décide de modifié la marque, j'ai un débogage, que je n'avais pas avant avec les .Clear, j'ai vérifié ils sont toujours là mais là je ne comprends pourquoi ça bugge aurais tu une idée ?
 
Re : Petit réglage VBA pour lsite déroulante

Re,

Effectivement, je n'ai pas tout testé 😉

Il faut ajouter cette ligne
Code:
' Si la combobox motorisation est vide on sort  If Me("CbBMotorisations" & Ind) = "" Then Exit Sub
Avant celle-ci
Code:
' Rechercher la colonne contenant la motorisation
  Col = Application.Match(Me("CbBMotorisations" & Ind), Sheets("Feuil1").Rows(3), 0)

Car lors de l'effacement des combobox, tu as l'évènement Change qui se mets en route
et comme tu n'as plus de valeur dans la combo, la recherche d'une valeur vide pose problème 😉 🙂

A+
 
- 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
3
Affichages
922
T
Réponses
5
Affichages
2 K
tabernake
T
T
  • Question Question
Réponses
15
Affichages
3 K
tabernake
T
A
Réponses
3
Affichages
1 K
AppleDance
A
S
Réponses
2
Affichages
1 K
G
Réponses
0
Affichages
859
GwenLG
G
K
Réponses
6
Affichages
2 K
K
H
Réponses
3
Affichages
1 K
HugoB99
H
Retour