Problème d'affichage de valeur avec une fonction de recherche globale

illidan05

XLDnaute Nouveau
Bonjour à tous,

J'utilise une fonction de recherche globale en VBA dans mon fichier Excel. Quand il recherche une donnée numérique je n'ai pas de soucis tout fonctionne.
Par contre quand je veux avec cette fonction afficher du texte j'ai le message "#VALEUR!" dans la cellule de recherche.
Savez-vous de quoi peut venir mon problème ?

Voici le code de la recherche Globale :
Code:
Function RechercheGlobale(ValeurCherchée) As Double

Dim SH As Worksheet
Dim CL As Range
RechercheGlobale = 0
'Exit Function
For Each SH In Worksheets
  If SH.Name <> "SUIVIS" Then
    For Each CL In SH.Range("F2:F" & SH.Range("F65536").End(xlUp).Row)
      If CL = ValeurCherchée Then
        RechercheGlobale = CL.Offset(0, -5)
      End If
    Next CL
  End If
Next SH
End Function

et une image pour expliquer ma recherche.



merci pour votre aide
 
G

Guest

Guest
Re : Problème d'affichage de valeur avec une fonction de recherche globale

Bonjour,

Function RechercheGlobale(ValeurCherchée) As Variant

Sans doute qu'avec la méthode Find, cela ira plus vite:

Code:
Function RechercheGlobale(ValeurCherchée) As Variant
Dim SH As Worksheet
Dim CL As Range
RechercheGlobale = 0
'Exit Function
For Each SH In Worksheets
  If SH.Name <> "SUIVIS" Then
    With SH.Range("F2:F" & SH.Range("F65536").End(xlUp).Row)
      Set CL = .Find(what:=ValeurCherchée, LookIn:=xlValues, lookAt:=xlWhole, searchorder:=xlByRows, MatchCase:=False)
        If Not CL Is Nothing Then
            RechercheGlobale = CL.Offset(0, -5)
            Exit For
        End If
    End With
  End If
Next SH
End Function

A+

A+
 
Dernière modification par un modérateur:

Discussions similaires

Statistiques des forums

Discussions
312 047
Messages
2 084 864
Membres
102 690
dernier inscrit
souleymaane