Bonjour,

J'utilise la méthode "Find" (à tord, à raison) relativement souvent.
Je m'aperçois quand même que je ne la maîtrise pas complètement au vu du nombre de fois où j'ai des erreurs...

Je fais une recherche sur une colonne on je trouve des String, des Integer et des Single.
... D
1 ... Test1
2 ... Condition
3 ... 9
4 ... 14.2
5 ... 36,5
Mon soucis se situe au niveau de la recherche de "36,5" (valeur numérique).

Lorsque je fais ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    Set oRng = .Rows(1).Find(Me.ComboBox1.Value, LookIn:=xlValues, LookAt:=xlWhole) 'je recherche test1 - je trouve bien "test1"
    Set oRng = .Columns(oRng.Column).Find(Me.ComboBox2.Value, LookIn:=xlValues, LookAt:=xlWhole) 'là, ça coince... parfois...
... mon "oRng" est bien sété quand je place "Me.ComboBox2.Value" = 9 (entier) ou 14.2 (valeur texte).

Par contre, mon Find n'arrive pas à se séter lorsque j'ai Me.ComboBox2.Value = 36,5.
oRng = Nothing à ce moment là...

J'ai utilisé l'enregistreur de macro pour essayer de voir mon erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Sub Macro3()
    Columns("D:D").Select
    Selection.Find(What:="36,5", After:=ActiveCell, LookIn:=xlValues, LookAt _
        :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
End Sub
Formidable : quand je la lance => Erreur 91 : "Variable objet ou variable de bloc With non définie...

J'ai ainsi testé de remplacer What:="36,5" par What:="36.5" et la miracle, ça fonctionne !

J'imagine que l'erreur dans ma macro d'origine doit venir de là... mais j'ai essayé toutes les transformations possible... rien n'y fait...

Quelqu'un aurait une piste ?

Merci par avance !
Cordialement,
Kimy