Fonction de recherche sur un fichier Excel

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 !

leshark

XLDnaute Nouveau
Bonjour,

J'aimerai avoir un petit coup de pouce car je bloque sur une macro que j'ai réalisé. J'essaye de réaliser une fonction de recherche sur l'ensemble d'un fichier excel et j'ai donc ceci :

Sub recherche()
Dim rngTrouve As Range
Static strChaine As String
Static Ligne As Long
If Ligne = 0 Then
strChaine = InputBox("Valeur à rechercher :")
If strChaine = "" Then Exit Sub
Ligne = 1
End If
For Each rngTrouve In Range("A" & Ligne & ":A" & [A65536].End(xlUp).Row + 1)
If LCase(rngTrouve.Text) = LCase(strChaine) Then
rngTrouve.Activate
Ligne = rngTrouve.Row + 1
Exit Sub
End If
Next
MsgBox "Plus d'occurence ou valeur non trouvée"
Ligne = 0
Set rngTrouve = Nothing
End Sub

La recherche fonctionne sur toute la colonne A mais si la valeur existe dans la colonne B il ne la trouve pas. Le problème doit venir d'ici

For Each rngTrouve In Range("A" & Ligne & ":A" & [A65536].End(xlUp).Row + 1)

car je gère juste la colonne A mais je ne vois pas comment ou quoi mettre pour qu'il parcourt automatiquement la colonne A puis qu'il passe à la B puis à la C etc..

Merci pour les informations je sèche ^^
 
Re : Fonction de recherche sur un fichier Excel

Hello leshark, Forum,

J'ai essayé comme ceci...
Code:
Sub recherche()

    Dim rngTrouve As Range
    Static strChaine As String
    Static Ligne As Long

    strChaine = InputBox("Valeur à rechercher :")
    
    If strChaine = "" Then Exit Sub
    
    Ligne = 1
    
    'Plage A:Z
    For Each rngTrouve In Range("A" & Ligne & ":F" & [F65536].End(xlUp).Row + 1)
        If LCase(rngTrouve.Text) = LCase(strChaine) Then
            rngTrouve.Activate
            Ligne = rngTrouve.Row + 1
            Exit Sub
        End If
    Next
    
    MsgBox "Plus d'occurence ou valeur non trouvée"
    
    Ligne = 0

    Set rngTrouve = Nothing

End Sub
Ça joue apperemment..
 
Re : Fonction de recherche sur un fichier Excel

Salut,

Merci de la réponse, je viens de tester et ça ne fonctionne pas..En effet si dans la colonne B2 et D2 on lui affecte une valeur , il ne trouvera que celle de B2 puis on devra refaire une recherche et il retrouvera celle de B2 pourtant moi je veux qu'il se positionne dans toutes les cellules si cette valeur existe en doublon un peu comme la recherche ctrl+F de excel
 
Re : Fonction de recherche sur un fichier Excel

bonjour leshark
avec find bien plus rapide,içi colore la/les correspondance(s)
code venant de l'aide et un peu adapté

Code:
Sub recherche()
Dim C As Range
Dim strChaine As String

strChaine = InputBox("Valeur à rechercher :")
If strChaine = "" Then Exit Sub
Application.ScreenUpdating = False
Worksheets(1).Cells.Interior.ColorIndex = -4142
With Worksheets(1).Cells
    Set C = .Find(strChaine, LookIn:=xlValues, lookat:=xlWhole) 'ou lookat:=xlPart
    If Not C Is Nothing Then
        firstAddress = C.Address
        Do
            C.Interior.ColorIndex = 3
            Set C = .FindNext(C)
        Loop While Not C Is Nothing And C.Address <> firstAddress
    End If
Application.ScreenUpdating = True
End With
 
Re : Fonction de recherche sur un fichier Excel

Salut bebere,

Je viens de tester, c'est énorme en effet je vais travailler avec ce code ça me plait bien..

Et je pourrais créer un bouton réinitialisation pour que les données en rouge redeviennent vierge après les avoir trouver non?

Merci beaucoup
 
Dernière édition:
Re : Fonction de recherche sur un fichier Excel

Et une autre question pour la route ^^..Sur mon fichier excel j'ai un format spécifique avec des couleurs etc et ici quand il trouve la valeur il modifie la couleur des cellules par rapport à ma couluer de base..une fois que la recherche est terminé il n'y a pas un moyen de retrouver le format de base du fichier? c'est à dire de ne pas perdre les couleurs du fichiers de base
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
Retour