Récupérer les valeurs d'une liste déroulante et les comparer

Bonjour,

Je fais appel à vos connaissances et votre gentillesse car je suis bloqué sur mon fichier Excel (Excel 2007) depuis un bon moment, et je n'ai pas réussi à trouver de réponse clair sur internet

Ce que je souhaite faire :

J'ai :

- une liste déroulante :

bdd ligeron imagesia com cg3e large

- un Onglet "Database" contenant :

Restrictions Catégorie Formation n° d'affaire Intitulé Montant Période de réalisation ...

OUI Analyse de la valeur BLA BLA BLA BLA BLA BLA

NON Analyse de risques BLA BLA BLA BLA BLA BLA

NON Audit BLA BLA BLA BLA BLA BLA

OUI Autre BLA BLA BLA BLA BLA BLA

NON Analyse de risques BLA BLA BLA BLA BLA BLA

- un onglet "Résultat de recherche" qui est identique à "Database" (mais servira à m'afficher uniquement les colonnes souhaitées)

Et lorsque par exemple dans ma liste déroulante "Catégorie" je sélectionne la donnée "Analyse de risque", je souhaite qu'il m'affiche dans mon onglet "Résultat de Recherche" toute les colonnes où se trouvent écrit "Analyse de risque" et supprime les autres colonnes.

Ce que j'ai fait :

J'ai copié les données de mon onglet "Database" dans un autre onglet, créé une macro qui supprime les doublons et trie les données, et j'ai ainsi pu mettre dans une UserForm (voir l'image ci-dessus) les données dans chacune de mes liste déroulante.

Et ça fonctionne ! (miracle !)

Mon problème :

Lorsque je sélectionne "Analyse de risque" dans ma liste déroulante de ma UserForm et clique sur rechercher, rien ne se passe...

A 1ère vue, l'information de ma liste déroulante (comboBox) est vide, il ne détecte pas que j'ai sélectionné "Analyse de risques".

Auriez vous une solution svp ?

PS : je n'arrive pas à voir comment insérer un fichier Excel, le pareFeu de mon entreprise bloque la vidéo...)

Voici ma macro :

Private Sub boutonRechercher_Click()

' duplique l'onglet "Database"dans "résultat recherche"

    Sheets("Database").Select
    Cells.Select
    Selection.Copy
    Sheets("Résultat de recherche").Select
    Cells.Select
    ActiveSheet.Paste
    Range("A1").Select

'recherche colonne catégorie

   a = 2
   Sheets("Résultat de recherche").Select
   Cells(a, 2).Select

   While Cells(a, 2) <> ("")
    a = a + 1
   Wend
   a = a - 1

'ComboBox22 est ma liste déroulante "Catégorie"
    For b = 2 To a
        If Cells(b, 2) <> ComboBox22 Then '<--- Le problème vient justement que pour lui comboBox est vide alors que j'ai sélectionné avant "Analyse de risque"
        Rows(b).Select
        Selection.Delete Shift:=xlUp
        Else
        b = b + 1
        End If
    Next

End Sub

Merci d'avance de votre aide

Bonjour

Merci, je viens d'edit mon poste, et d'y mettre mon fichier excel

Et en faisant les modifications (j'ai enlever les données confidentielle) ça fonctionne à moitier ... bizarre, et je ne trouve pas le problème

Bonjour

Je ne me suis occupé que de la recherche

Je ne sais pas ce que tu fais avant d'ouvrir l'Userform

A tester

Merci beaucoup Banzai

Ça fonctionne parfaitement !

Juste pour que je sache pour les prochaine fois, dans "Me.ComboBox22", le "Me" sert à quoi stp ?

Bonjour

Le Me désigne l'objet que l'on manipule (dans ce cas c'est l'userform) (en plus c'est une habitude que j'ai - ce n'est pas obligatoire)

En plus si tu tapes le Me + le point tu vas pouvoir choisir dans la liste qui apparait toutes les propriétés, objets, méthodes qui se rapportent à cet objet

Merci encore une fois de ton aide

Rechercher des sujets similaires à "recuperer valeurs liste deroulante comparer"