Liste déroulante et choix de données

Bonsoir à tous,

Je rencontre actuellement quelques souci sur un document en VBA pour un projet en informatique.

je vous explique rapidement:

je souhaiterais faire apparaitre une liste déroulante selon un choix défini auparavant.

Plus précisement, lorsque j'ouvre ma fenetre sur le choix d'un véhicule ("choixvehicule"), je récupere automatiquement le nom d'une piscine (choisie juste avant par l'utilisateur ). Cette piscine appartient à une unique catégorie (A, B ou C). Un véhicule ne peut transporter qu'un type de catégorie de piscine (toujours A, B ou C), défini dans l'onglet "vehicule".

Ce que je souhaiterais mettre en place c'est que lorsque je clique sur le CheckBox "Valider", la liste déroulante se met à jour et ne laisse apparaitre que les véhicules compatible avec la catégorie choisie !

J'espère avoir été clair, si des informations sont manquantes, faite le moi savoir. J'aimerai bien vous joindre le dossier mais il fait 2 200 ko..

Merci et au plaisir d'avoir des pistes pour m'aider !

Bonjour

Un essai car sans voir de quelle façon sont inscrites tes données ...

Colonne A les données pour le Combobox1

Colonne C les données pour la Listbox1

Liste Sans Doublon pour la CoomboBox1 (de A2 à A dernière cellule remplie)

Private Sub UserForm_Initialize()
Dim i As Integer

For i = 2 To Sheets("Feuil1").Range("A65536").End(xlUp).Row
  ComboBox1 = Sheets("Feuil1").Range("A" & i)
  If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Sheets("Feuil1").Range("A" & i)
Next i
   ComboBox1.ListIndex = -1
End Sub

Ce code récupère les données correspondantes au choix fait dans le Combobox1

Private Sub ComboBox1_Change()
Dim Cel As Range
Dim Plage As Range
Dim Deb_Adr As String

  ListBox1.Clear

  Set Plage = Range("A1:A" & Range("A65536").End(xlUp).Row)
  With Plage
    Set Cel = .Find(what:=ComboBox1, LookIn:=xlValues, lookat:=xlWhole)
    If Not Cel Is Nothing Then
      Deb_Adr = Cel.Address
      Do
        ListBox1.AddItem Cel.Offset(0, 2)
        Set Cel = .FindNext(Cel)
      Loop While Not Cel Is Nothing And Cel.Address <> Deb_Adr
    End If
  End With
End Sub

Amicalement

Nad

Bonsoir,

merci pour ta réponse très rapide ! J'ai essayé de mettre en place le code que tu as fourni en l'adaptant à mes champs mais sans résultat pour le moment !

J'ai cependant réussis à supprimer l'ensemble des informations inutiles sur le ficher pour qu'il n'excède pas le 200ko !

Si jamais tu as besoin d'autres informations n'hésite surtout pas !!

Merci d'avance !

Bonsoir

Un essai

Mais pas facile à tester comme il manque beaucoup de chose

Juste la partie choixvehicule

Evites de donner le même nom à 2 objets différents (Userform = ComboBox = choixvehicule)

Merci beaucoup pour ton aide, tout marche parfaitement bien maintenant!

Bonne soirée.

Alban

Rechercher des sujets similaires à "liste deroulante choix donnees"