Méthode Find / String et Single
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:
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:
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... :koi:
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 ! :ccool:
Cordialement,
Kimy