Pb type de formats nombre

Fermé
steefif - 4 juil. 2008 à 12:22
Steefif Messages postés 485 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 15 février 2013 - 9 juil. 2008 à 14:12
Bonjour à tous ceux qui voudront bien me lire,
Voilà, pour etre clair net et précis, j'ai un gros soucis avec le format de mes nombres.
en effet je dosi comparer le contenu de deux colonnes qui contiennent des nombres.
exemple :
0 0 ->correct
0 1 ->incorect
0 0 ->correct
1 8 ->incorecte
etc..
l'embetant, c'est que dan sla premiere colonne, certains de mes nombres sont considéré comme étant une chaine de caractere texte, rendant de ce fait impossible les comparaissons.
typiquement j'ai par moment 1<>1
le premier étant un caractere le second etant un nombre.
J'espere avoir été assez clair pour que certains d'entre vous me comprennent.

En tout cas merci a tous d'avoir lu ici
en espérant avoir des réponses!
merci beaucoup

Steefif.

11 réponses

Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 69
4 juil. 2008 à 12:32
Rhaaa désolé j'ai eu le réflexe de penser que c'était du C.
2
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
4 juil. 2008 à 14:08
pareil, j'ai aussi cru que c'était du C...
0
Sri Lumpa Messages postés 177 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 1 juin 2010 69
4 juil. 2008 à 12:26
Si tu veux convertir une chaine en entier, tu as la fonction entier = atoi(chaine) qui fait ça très bien. Tu peux aussi utiliser la fonction sscanf(chaine, "%d", &entier).
1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
4 juil. 2008 à 12:31
tu fait tout simplement un transtypage en forçant le type de ta variable au type chercher, ici "int" je suppose. Donc :
int(variableG)==int(variableD)
1
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161
4 juil. 2008 à 13:16
Bonjour,

Essaie If Val(Cells(i, 5).Text) = Val(Cells(i, 3).Text) Then
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
je viens d eme rendre compte que j'ai oublié de précisé que je travaille sur excel
enfin meme sur VBA...
je ne pense pas que sscanf existe si?
et sinon, que veux dire atoi ?
c'ets une fonction a faire ou une fonction connue des librairies excel?

merci
0
ca c'ets pas bete, ej vais tester de ce pas, merci bcp a toi!
0
non le C ca va je connais dsl...
je debute juste en excel a vrai dire depuis deux semaines et je dosi avouer que ce forum est quand meme une vraie mine d'infos.
mais la pour el coup j'avais pas trouvé, et pourtant la solution apparait comme evidente...
c'ets en phase de test en ce moment meme!
0
alors mauvaise nouvelle :
voici ma ligne de code

If Int(Cells(i, 5).Value) = Int(Cells(i, 3).Value) Then
.......


malheuresement, cela ne marche pas, il me dit incompatibilité de type.
il ne veut pas forcer ma string en integer.
quelqu'un a une idée d'ou cela peut il bien venir?
pourtant la solution proposée me parait etr la bonne!
0
ok, je vais voir ce que ca donne!
désolé de l'absence, j'ai eu un petit gros soucis avec mon PC
0
Ca ma rche niquel merci beaucoup à tous!
sujet résolu!
0
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161
9 juil. 2008 à 14:11
donc change le status du post stp?
Merci
0
Steefif Messages postés 485 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 15 février 2013 19
9 juil. 2008 à 14:12
je ne peux plus le changer, en effet, je me suis inscrit seulement apres avoi eu la solution
mais de rien c'ets un plaisir
0