Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 recherche V vba

loreak

XLDnaute Nouveau
Bonjour,
Je cherche à trouver une valeur à partir d'un combo Box,
Je choisis une valeur à partir de la combobox et je cherche à trouver cette valeur dans une plage de données horizontales (feuil1) (je cherche la colonne de la cellule où se trouve cette valeur)

Merci d'avance.
 

jui42

XLDnaute Junior
Salut le fil,
@loreak je te propose un code pas très adapté a ta demande mais qui fait quand même le job je t'améliore ça si j'ai le temps.
VB:
Sub test()






        Dim cb1 As Variant

        
        Dim FirstFound As String ' definition des variable que l'on va utiliser
        Dim FoundCell As Range, rng As Range
        Dim myRange As Range, LastCell As Range
        'Valeur a chercher cb1
        cb1 = InputBox("Rentrer une valeur")
        
        Set myRange = ActiveSheet.UsedRange
        Set LastCell = myRange.Cells(myRange.Cells.Count)
        Set FoundCell = myRange.Find(what:=cb1, After:=LastCell, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)
        
        'Test pour voir si qlq chose est trouver
        If Not FoundCell Is Nothing Then
            FirstFound = FoundCell.Address
            
        Else

            GoTo NothingFound
        End If
        
        Set rng = FoundCell
        
        ' TEST POUR EMPECHER L'ERREUR SUR LA VALEUR TROUVEE
        

            
            'Tour jusqu'a que ça trouve tout
            Do Until FoundCell Is Nothing
                'Trouve la nouvelle cellule avec la valeur
                Set FoundCell = myRange.FindNext(After:=FoundCell)
                
                'Ajoute la valeur a la variable tableau
                Set rng = Union(rng, FoundCell)

                'Test pour sortir de la boucle
                If FoundCell.Address = FirstFound Then Exit Do
                'loop va recommencer la boucle
            Loop
            
            'selection du tableau
            
            rng.Select
            
            
            
            
                Exit Sub
    
    'Message d'erreur
NothingFound:
    
    MsgBox ("Aucune valeur " & cb1 & "        n'a été trouvé. Veuillez réessayer")
End Sub
 

Pièces jointes

  • combobox formulaire.xlsm
    27.8 KB · Affichages: 1

jui42

XLDnaute Junior
@loreak,
Ce code recherche une valeur inscrite dans le message box dans la plage que tu souhaite; c'est le myRange.
De là le programme recherche avec une simple fonction Find. Ma boucle Do m'assure que ma recherche ne s'arrête pas à la première valeur trouvé.
A quel ligne est le message d'erreur ?
 

Discussions similaires

Réponses
33
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…