Test sur l'égalité de 2 cellules qui rend faux alors que la différence rend 0

  • Initiateur de la discussion Initiateur de la discussion Tomygun
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Tomygun

XLDnaute Nouveau
Bonjour à tous,

Tout d'abord merci aux utilisateurs de ce forum qui m'ont permis à maintes reprises de me débloquer dans mon utilisation de vba.

Malheureusement cette fois ci c'est un problème dont je n'ai pas trouvé le pareil sur le forum (mal recherché peut être?) qui m'amène à créer mon premier fil.

Je vais vous épargner les détails car à priori je ne pense pas qu'ils influencent mon problème, mais si vous pensez que j'oublie quelque chose d'important n'hésitez pas à me le demander!

Alors, la situation est celle là : lors de l'une de mes macro, je test l'égalité de 2 cases contenant des nombres dans 2 feuilles différentes en utilisant la ligne suivante :
Cells(32, 1).Value = Sheets(2).Cells(38, 1).Value
Dans le cas qui me préoccupe, ce test rend "faux" alors qu'en remplaçant le signe "=" par un "-" j'obtiens "0" (dans une msgbox) ...

Encore plus étrange, lorsque je copie la valeur d'une case et que j'effectue un collage spécial (valeur) sur la 2nde case, le test rend "vrai" !

Je dois avouer que sur ce coup là le problème dépasse ma compréhension, y aurait il une propriété propre aux valeurs que je ne connaitrais pas et qui influencerait le booléen ?

Merci de votre attention !
 
Re : Test sur l'égalité de 2 cellules qui rend faux alors que la différence rend 0

Bonjour Tomygun, Le forum

Est ce que le nombre contenue dans tes deux cellules ne proviendraient pas de fonctions qui feraient une différence x chiffres après la virgule ?

A+

Edit : Salur Pierrejean, c'est un plaisir de te croiser
 
Re : Test sur l'égalité de 2 cellules qui rend faux alors que la différence rend 0

Bonjour Jiheme, pierrejean

A ma connaissance, je n'ai utilisé aucune fonction concernant les virgules sur ces nombres, cependant l'un des 2 est issu d'un tableau croisé dynamique si ça peut aider.

Pierrejean, qu'entends tu par le format des cellules ? Tout ce qui est largeur, hauteur, gras etc ... ?
 
Re : Test sur l'égalité de 2 cellules qui rend faux alors que la différence rend 0

Re

Format : Nombre ,Texte etc
Le mieux est de poster une copie de ton fichier avec les elements posant probleme et je pense que l'on pourra se faire une idée du pourquoi
 
Re : Test sur l'égalité de 2 cellules qui rend faux alors que la différence rend 0

J'ai créé une copie de mon fichier ne contenant que les feuilles concernées mais celle ci reste assez volumineuse (~4700ko).

Je ne me rappelle plus le site permettant d'uploader les pièces jointes supérieures à 50ko ?
 
Re : Test sur l'égalité de 2 cellules qui rend faux alors que la différence rend 0

Re.

Voilà le fichier compressé :


Quelques petites précisions :
Je n'ai pas joint la feuille à partir de laquelle est établie le tableau croisé dans un soucis de limitation de la taille du fichier.
J'ai joint la macro dans laquelle est insérée le code précédemment cité, celle ci fonctionne pour la plupart des cas car j'ai déjà effectué la manip cité plus haut (collage spécial) sur ceux là, cependant si vous voulez regarder un cas ne fonctionnant pas, cherchez le centre de frais 340.

Merci.
 
Dernière édition:
Re : Test sur l'égalité de 2 cellules qui rend faux alors que la différence rend 0

Bonjour,

Ce pb est souvent dû au stockage des nombres par excel.
Un nombre 'rond' en décimal ne l'est pas en binaire et te crée une petite différence de l'ordre de 1^-13. Ce que tu peux voir en faisant la différence en vba (ou même sur une feuille en faisant A2-A1-0 (lire moins zéro).

Utilise l'arrondi sur tes 2 valeurs pour comparer.
eric

edit: heuuu dans ton cas tu as des nombres en texte.... Enlève l'alignement des cellules pour le voir
 
Dernière édition:
Re : Test sur l'égalité de 2 cellules qui rend faux alors que la différence rend 0

Bonjour eriiiic,

Effectivement dans mon cas, je ne pense pas qu'il s'agisse d'un problème de virgule à la puissance -13, mes nombres étant en fait des numéros servant à représenter des centres de frais.

Par contre je n'ai pas saisi la manip pour voir que mes nombres sont en fait des string ? ^^'
 
Dernière édition:
Re : Test sur l'égalité de 2 cellules qui rend faux alors que la différence rend 0

Merci pierrejean, eriiiic,

Donc effectivement je vois bien une différence entre mes cellules avec certaines alignées sur la gauche et d'autres sur la droite. Du coup ça me sépare les cellules fonctionnant des autres, comment ramener mes brebis dans le troupeau ? 😕
 
Re : Test sur l'égalité de 2 cellules qui rend faux alors que la différence rend 0

Bonjour tototiti2008,

Dommage, ça me donne bien toutes mes cellules qui s'alignent en même temps mais pas de bol, du coup ma macro ne fonctionne plus avec aucune d'elles xD

J'en déduis d'après ce que vous m'avez dit plus haut que ce sont mes nombres en texte qui fonctionne avec ma macro ... Du coup j'en reviens à vouloir ramener mes brebis du bon coté du troupeau ^^'

Merci.
 
Re : Test sur l'égalité de 2 cellules qui rend faux alors que la différence rend 0

Re Bonjour à tous !

Bon je reviens de ma pause casse croûte, j'essaye un truc et ça marche, comme quoi ...
Jusque là je n'avais pas fait attention mais certaines de mes cases fonctionnant contenaient un nombre du style '084, j'ai juste eu à ajouter le ' devant les récalcitrants et maintenant ça m'a tout l'air de fonctionner !

Par curiosité, si quelqu'un savait à quoi correspond de ' ?

Merci à tous de votre aide 😉
La prochaine fois je penserais à regarder l'alignement !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour