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.
Mon soucis se situe au niveau de la recherche de "36,5" (valeur numérique).
... D 1 ... Test1 2 ... Condition 3 ... 9 4 ... 14.2 5 ... 36,5
Lorsque je fais ceci :
... mon "oRng" est bien sété quand je place "Me.ComboBox2.Value" = 9 (entier) ou 14.2 (valeur texte).
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...
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 :
Formidable : quand je la lance => Erreur 91 : "Variable objet ou variable de bloc With non définie...
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
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
Partager