Réponse acceptée !
Salut
Si tu travailles avec des chiffres, ne mets pas tes valeurs entre ", c'est réservé aux chaines.
VBA n'est pas bête et fait la traduction, mais un jour tu te feras avoir.
Qu'y a t-il dans la cellule 6,4 ?
Juste un chiffre 234 ou bien un '234 ou encore "234" ?
Dans ce dernier cas, la cellule n'est pas un chiffre, d'où le problème de comparaison.
Ajoute ceci pour le vérifier :
MsgBox ">" & Cells(6, 4).Value & "<"Tu connaitra exactement ce qu'il y a dans cette cellule, peut-être quelque chose te sautera aux yeux.
Eventuellement, fais le test avec
Val(Cells(6, 4).Value)mais Val("234") donnera 0
Dans ce cas, il faut comparer "monCalcul" avec "234"
If """" & CStr(Abs(T2.value-T1.value)) & """" = "234" then
Quatre " sui se suivent est une chaine équivalente à un simple ", en fait, il suffit de mettre 2 " dans une chaine pour obtenir ce simple ", auquels il faut ajouter le " de début et de fin.
CStr est la fonction de conversion d'un chiffre en chaine
Pour ta recherche dans une plage, enregistre une macro puis sélectionne une plage et lance une recherche --> Tu auras le code tout fait. Tu n'auras plus qu'à le paramétrer.
Vala
Jack,
MVP VBNB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)