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 :
- 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