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'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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
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