Macro "Recherche une Valeur" dans un Use

Résolu/Fermé
Bastien06 Messages postés 8 Date d'inscription lundi 23 février 2009 Statut Membre Dernière intervention 12 août 2010 - 15 sept. 2009 à 14:04
Bastien06 Messages postés 8 Date d'inscription lundi 23 février 2009 Statut Membre Dernière intervention 12 août 2010 - 15 sept. 2009 à 14:47
Bonjour,

j'aurai besoin d'un peu d'aide pour une macro que j'ai dans un userform.

Le but est simplement de rechercher dans une colonne (colonne B) une valeur rentrée dans un userform.

La macro ne trouve pas la valeur (et me renvoie un msgbox "book non trouvé" alors qu'elle s'y trouve bien.

voici mon code:

Merci beaucoup pour votre aide!!

Bastien

(certaines variables sont définies ailleurs dans ma macro mais non présente dans ce bout de code)

Sub Search()

Dim repere As Boolean
Dim trouve As Boolean
Set OngletLiffe = ThisWorkbook.Worksheets("Liffe")

repere = False
trouve = False

If (UserForm1.CbookFO = "") Then
VbookFO = ""
Else
VbookFO = UserForm1.CbookFO
End If


If (VbookFO <> "") Then 'vérifie que le champ n'est pas vide

If (Not IsNumeric(VbookFO)) Then 'vérifie que le champ n'est pas numérique
ligne = 1

Do While (repere = False) 'boucle recherchant la valeur
ligne = ligne + 1

If OngletLiffe.Cells(ligne, 2).Text = "" Then
repere = True
End If
If OngletLiffe.Cells(ligne, 2).Text = Val(VbookFO) Then
repere = True
trouve = True
End If
Loop
If (trouve = True) Then
UserForm1.CbookBP2S = OngletLiffe.Cells(ligne, 1)
UserForm1.CbookFO = OngletLiffe.Cells(ligne, 2)
UserForm1.Ctrader = OngletLiffe.Cells(ligne, 3)
UserForm1.Cmiddle = OngletLiffe.Cells(ligne, 4)

Else
MsgBox ("Book non trouvé!")
End If
Else
MsgBox ("Veuillez saisir un book valide")
End If
Else
MsgBox ("Veuillez choisir un book à rechercher SVP")
End If

End Sub

1 réponse

Bastien06 Messages postés 8 Date d'inscription lundi 23 février 2009 Statut Membre Dernière intervention 12 août 2010
15 sept. 2009 à 14:47
J'ai eu la solution sur un autre forum...

j'ai changé les .Text en .Value et modifié le code de cette manière:


[quote]If UCase(OngletLiffe.Cells(ligne, 2).Value) = UCase(VbookFO) Then[/quote]

Ca fontionne parfaitement

Bastien
0