XL 2010 problème de format nombre/texte

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 !

Sheldor

XLDnaute Occasionnel
Supporter XLD
bonjour,
j'ai une vérification qui tourne sur un fichier de saisie depuis des années et qui consiste à vérifier si la valeur 1 est supérieur à la valeur 2 associée

les cellules sont protégées et en format nombre dans le fichier de saisi fourni aux utilisateurs qui entre les valeurs 1 et 2

pour la première fois j'ai un problème sur trois valeurs: excel les considère comme du texte et me dit du coup qu'elle sont supérieur à la valeur 2 associée

je ne comprends pas pourquoi et ne comprenant pas je ne trouve pas de solution, je me demande si je rate un truc évident ou si il n'y a pas de solution


les données ne viennent pas de format exotique passant par le web ou autre c'est une saisie manuelle directement dans excel, je ne vois pas d'espace ni de caractères cachés, si je revalide la valeur avec entrée le problème disparaît mais ça ne solutionne pas mon problème

très grand merci par avance de vos lumières 😉

nico
 

Pièces jointes

Bonjour,

Vos données en colonne A (celles en orange) ont bien été saisies sous forme de texte, il faut les ressaisir au format nombre ou standard.

Sinon avec la macro :
Sub Bouton26_Cliquer()
For i = 3 To 9
If CDbl(Cells(i, 1)) > CDbl(Cells(i, 2)) Then Cells(i, 3) = "oui"
Next i
End Sub
nicopec.gif
 
Bonjour Nicopec, Rouge,
S'agissant d'un outil, le problème est que l'utilisateur peut refaire l'erreur.
Le plus simple à mes yeux pour contourner le problème est de transformer les chaines en nombres avec :
VB:
If Val(Cells(i, 1)) > Val(Cells(i, 2)) Then
 
bonjour Rouge, Sylvanu,

merci pour vos messages

j'imagine que l'utilisateur a fait une saisie ailleurs dans un format texte pour le coller dans le fichier de saisie en passant outre les validations au format décimal...

mais du coup comment détecter qu'il "considère" que c'est du texte car je pensais que IsNumeric(cells(4,1)) me renverrait false mais pas du tout... ce qui est une grande certitude qui vient de s'effondrer...


merci
nico
 
bonjour Rouge, Sylvanu,

merci pour vos messages

j'imagine que l'utilisateur a fait une saisie ailleurs dans un format texte pour le coller dans le fichier de saisie en passant outre les validations au format décimal...

mais du coup comment détecter qu'il "considère" que c'est du texte car je pensais que IsNumeric(cells(4,1)) me renverrait false mais pas du tout... ce qui est une grande certitude qui vient de s'effondrer...


merci
nico
Bonjour à Tous,
...et pour la fonction Excel (pas en VBA) ESTNUM(A4) renvoie bien FAUX, du coup, peut-être une MFC pour alerter d'une "erreur" de saisie
 
Re,
Après essais, il s'avère qu'avant de regarder si la valeur est numérique, il évalue si la valeur pourrait être numérique, et si c'est le cas il prend cette valeur transformée. Il est futé. 🤣

En fait il fait :
Valeur=Val(Cellule)
Isnumeric(Valeur)

Par ex :
a1=3 isnumeric=VRAI
a1='3 ( donc commentaire ) isnumeric=VRAI
a1=3 en format texte, isnumeric=VRAI
 
je voulais dire: si je veux détecter une valeur non numérique j'utilise IsNumeric mais dans ce cas il n'arrive pas à détecter que ce n'est pas numérique du coup je me demandais s'il y avait un autre moyen

après oui merci pour Val() que je ne connaissais pas
 
J'ai l'impression qu'en tout début le VBA va évaluer si cela pourrait être numérique, et si ça l'est il convertit.
Je n'ai rien trouvé permettant de lever l'ambiguïté, je ne suis pas arrivé à tricher.
Mais peut être que cela existe.
 
Bonjour à tous
Autre solution
VB:
Sub Bouton26_Cliquer()
For i = 3 To 9

If Cells(i, 1) * 1 > Cells(i, 2) * 1 Then Cells(i, 3) = "oui"

Next i

End Sub

et plus prudent
VB:
Sub Bouton26_Cliquer()
For i = 3 To 9
If Cells(i, 1) * 1 > Cells(i, 2) * 1 Then
   Cells(i, 3) = "oui"
Else
   Cells(i, 3) = ""
Next i
End Sub
 
Dernière édition:
merci à tous pour votre aide et vos éclaircissements, cette vérif fait partie d'un ensemble de vérifs et j'ai construit mon code en testant si la valeur est numérique ou non avant de décider quoi en faire mais je vais peut être devoir reconsidérer cette approche

excellente journée à vous
 
- 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

Réponses
8
Affichages
653
Réponses
13
Affichages
612
Réponses
11
Affichages
568
Réponses
8
Affichages
312
Réponses
4
Affichages
520
Réponses
4
Affichages
298
Réponses
26
Affichages
1 K
Retour