multicritères et fonction FIND en VBA, manque d'idée...

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 !

Mineur de Fond

XLDnaute Nouveau
Bonjour a tous !
je travaille sur un formulaire qui utilise la fonction FIND en fonction de choix dans plusieurs combobox.
Le résultat est afficher dans une listbox...
Il y a deux combobox : deux criteres, quand un seul critère est sélectionné, tout fonctionne
LE PROBLEME : Je ne trouve pas le moyen d'utiliser la fonction FIND avec deux critères, deux combobox
Je suis preneur de n'importe quelle aide, conseils, remarques
MErci beaucoup pour votre aide

en pièce jointe le projet, et ci dessous, un extrait du coeur du code .
VB:
Text1 = Me.ComboBox1
Text2 = Me.ComboBox2
ListBox1.Clear
ListBox1.Enabled = True

'seulement le premier combo rempli
If Text1 <> "" And Text2 = "" Then
       With Sheets("data").Range("A2", Sheets("data").Range("A65535").End(xlUp))
        Set C = .Find(Text1, LookIn:=xlValues, LookAt:=xlPart)
        If Not C Is Nothing Then
            Firstaddress = C.Address
            Do
            ReDim Preserve Tablo(2, i)
                            Tablo(0, i) = C.Offset(0, 1 - C.Column).Text
                            Tablo(1, i) = C.Offset(0, 2 - C.Column).Text
                i = i + 1
            Set C = .FindNext(C)
            Loop While Not C Is Nothing And C.Address <> Firstaddress
        End If
      End With
                If i <> 0 Then
                Me.ListBox1.Enabled = True
                Me.ListBox1.Column() = Tablo()
                nbtablo = i
                End If
                
                If i = 0 Then
                Me.ListBox1.Clear
                Me.ListBox1.Enabled = False
                End If
End If
 

Pièces jointes

Re : multicritères et fonction FIND en VBA, manque d'idée...

Bonjour,

pour moi la méthode "find" ne possède qu'un seul argument concernant les données à rechercher.. Il y a sans doute lieu de relancer une autre instruction pour ta 2ème recherche.... maintenant, j'ai ouvert ton fichier et je n'ais pas tout compris du résultat à obtenir ni ce que tu cherches à faire...

bonne journée
@+
 
Re : multicritères et fonction FIND en VBA, manque d'idée...

Bonjour Mineur de fond et bienvenue, salut Pierrot 🙂,
Une solution, passer par une petite fonction VBA personalisée
Code:
Function Filtre2(ZoneRecherche As Range, ZoneRéponse As Range, Recherche As String) As Range
With ZoneRecherche
    Set C = .Find(Recherche, lookat:=[COLOR=black]xlPart[/COLOR])
    If Not C Is Nothing Then
        firstAddress = C.Address
        Do
            If Filtre Is Nothing Then
                Set Filtre = ZoneRéponse(C.Row - 1)
            Else
                Set Filtre = Union(Filtre, ZoneRéponse(C.Row - 1))
            End If
            Set C = .FindNext(C)
        Loop While Not C Is Nothing And C.Address <> firstAddress
    End If
End With
End Function
Tu rentres la zone de ta première recherche, la zone où s'effectuera la deuxième, et la chaine recherchée. La fonction te renvoie le Range de ta deuxième colonne limitée aux bonnes réponses dans la première. Il te suffit de faire ta recherche sur la zone restreinte pour obtenir ce que tu cherches (Attention, elle est prévue avec 1 ligne d'entête. Si ton cas est différent, il faut modifier les (C.Row - 1)).
Si tu veux mieux comprendre la fonction dans son contexte, je l'ai crée sur ce fil.
Bonne journée 😎
 
- 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

Discussions similaires

Réponses
4
Affichages
461
Retour