RechercheV moins sensible au format

Le
abdou.bidool
Bonjour,

ce que je cherche faire est d'crire une macro qui soit moins
sensible aux format que la fonction RechercheV.
Je fais donc la chose suivante :

Pour a dans ma colonne A
Pour b dans ma colonne B
Si Test(a,b)= True alors
Faire le traitement
Fin_Si
Fin_pour
Fin_pour

Pour tester l'egalit de a et b, j'ai essayer ceci :
a = b
a like b
Comp(a,b, vbTextCompare ) = 0 ,
Comp( CStr(a), CStr(b) , vbTextCompare )

En utilisant le debugger je m'aperois que dans la colonne
a = 6,578603060551E+17
b = 657860306055100000
Pourtant dans la colonne A, qd j'agrandi la colonne, j'ai a qui
s"affiche comme cela 657860306055100000

Je ne sais pas comment faire pour que a et b soit consider comme
tant gale alors que pour moi il le sont.

Merci pour votre aide.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Leonello
Le #4599931
Bonsoir,
En calculant a-b et en comparant à 0

Par exemple :
Si a-b < 1E-10 alors

--

Amicalement,
Leo


Bonjour,

ce que je cherche à faire est d'écrire une macro qui soit moins
sensible aux format que la fonction RechercheV.
Je fais donc la chose suivante :

Pour a dans ma colonne A
Pour b dans ma colonne B
Si Test(a,b)= True alors
Faire le traitement
Fin_Si
Fin_pour
Fin_pour

Pour tester l'egalité de a et b, j'ai essayer ceci :
a = b
a like b
Comp(a,b, vbTextCompare ) = 0 ,
Comp( CStr(a), CStr(b) , vbTextCompare )

En utilisant le debugger je m'aperçois que dans la colonne
a = 6,578603060551E+17
b = 657860306055100000
Pourtant dans la colonne A, qd j'agrandi la colonne, j'ai a qui
s"affiche comme cela 657860306055100000

Je ne sais pas comment faire pour que a et b soit consideré comme
étant égale alors que pour moi il le sont.

Merci pour votre aide.
abdou.bidool
Le #4599471
Oui ça pourrait etre une solution mais malheureusement j''ai aussi des
données textuel du genre "GCC-YIEb"
Du coup ça ne marche plus avec ce genre données, j'avais aussi pensé à
ça.

Merci pour la reponse.

On 24 juin, 23:21, "Leonello"
Bonsoir,
En calculant a-b et en comparant à 0

Par exemple :
Si a-b < 1E-10 alors

--

Amicalement,
Leo


Bonjour,

ce que je cherche à faire est d'écrire une macro qui soit moins
sensible aux format que la fonction RechercheV.
Je fais donc la chose suivante :

Pour a dans ma colonne A
Pour b dans ma colonne B
Si Test(a,b)= True alors
Faire le traitement
Fin_Si
Fin_pour
Fin_pour

Pour tester l'egalité de a et b, j'ai essayer ceci :
a = b
a like b
Comp(a,b, vbTextCompare ) = 0 ,
Comp( CStr(a), CStr(b) , vbTextCompare )

En utilisant le debugger je m'aperçois que dans la colonne
a = 6,578603060551E+17
b = 657860306055100000
Pourtant dans la colonne A, qd j'agrandi la colonne, j'ai a qui
s"affiche comme cela 657860306055100000

Je ne sais pas comment faire pour que a et b soit consideré comme
étant égale alors que pour moi il le sont.

Merci pour votre aide.


isabelle
Le #4599441
bonjour abdou,

If IsNumeric([A1]) And IsNumeric([A2]) Then x = 1 Else x = 2
Select Case x
Case 1: If [A1] - [A2] < 0.0000000001 Then y = "vrai" Else y = "faux"
Case 2: If [A1] = [A2] Then y = "vrai" Else y = "faux"
End Select

isabelle

Oui ça pourrait etre une solution mais malheureusement j''ai aussi des
données textuel du genre "GCC-YIEb"
Du coup ça ne marche plus avec ce genre données, j'avais aussi pensé à
ça.

Merci pour la reponse.

On 24 juin, 23:21, "Leonello"
Bonsoir,
En calculant a-b et en comparant à 0

Par exemple :
Si a-b < 1E-10 alors

--

Amicalement,
Leo


Bonjour,

ce que je cherche à faire est d'écrire une macro qui soit moins
sensible aux format que la fonction RechercheV.
Je fais donc la chose suivante :

Pour a dans ma colonne A
Pour b dans ma colonne B
Si Test(a,b)= True alors
Faire le traitement
Fin_Si
Fin_pour
Fin_pour

Pour tester l'egalité de a et b, j'ai essayer ceci :
a = b
a like b
Comp(a,b, vbTextCompare ) = 0 ,
Comp( CStr(a), CStr(b) , vbTextCompare )

En utilisant le debugger je m'aperçois que dans la colonne
a = 6,578603060551E+17
b = 657860306055100000
Pourtant dans la colonne A, qd j'agrandi la colonne, j'ai a qui
s"affiche comme cela 657860306055100000

Je ne sais pas comment faire pour que a et b soit consideré comme
étant égale alors que pour moi il le sont.

Merci pour votre aide.







abdou.bidool
Le #4596201
On 25 juin, 12:28, isabelle wrote:
bonjour abdou,

If IsNumeric([A1]) And IsNumeric([A2]) Then x = 1 Else x = 2
Select Case x
Case 1: If [A1] - [A2] < 0.0000000001 Then y = "vrai" Else y = "faux"
Case 2: If [A1] = [A2] Then y = "vrai" Else y = "faux"
End Select

isabelle


Effectivement, c'est pas con j'essaye.
Merci pour votre aide.

Publicité
Poster une réponse
Anonyme