EXCEL2003 problème de point et virgule

Résolu/Fermé
MART23 - 27 mars 2009 à 14:01
 MART23 - 27 mars 2009 à 14:31
Bonjour,

J'ai créer un formulaire dans lequel j'aimerais qu'EXCEL ne fasse auune différence si la personne inscrit
3,12 ou 3.12 il doit caluler quand meme dans un cas ou dans l'autre. Aussi, pour toute mes cellules j'ai une validation de données personnalisée de type OU(A1="Oui") Comment puis-je dire à EXCEL de ne pas mettre une erreur si le destinataire de mon forulaire écrit 1.2 ou 1,2

Merci à toutes les suggestions !

5 réponses

leplot Messages postés 191 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 13 août 2015 130
27 mars 2009 à 14:17
Bonjour

Si c'est dans Excel, il faudrait utiliser substitue.
=CNUM(SUBSTITUE(A1;".";","))

La fonction SUBSTITUE remplace le . par une virgule et retourne un texte
CNUM transforme ce texte en nombre.

Attention si la cellule peut être vide ou contenir du texte autre que les nombres. Il faut ajouter un test d'erreur
=SI(ESTERREUR(CNUM(SUBSTITUE(A1;".";",")));"";CNUM(SUBSTITUE(A1;".";",")))

A la place de "", tu peux mettre 0.

Tu colles cette formule dans une cellule à côté ou directement dans le calcul qui utilise la valeur saisie.

A+
1
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 398
27 mars 2009 à 14:16
Bonjour
Ca ne devrait pas être facile de le dire à Excel. Par contre on peut tenter,( c'est tordu) de transformer la virgule en point dans une cellule de renvoi hors champ (éventuellement masquée) qui elle, servira ensuite de base au calcul.
Ainsi la formule ci dessous placée en B1 vous traduira dans tous les cas votre nombre avec virgule, que vous rentriez ou non avec un point en A1:
=SI(ESTERREUR(TROUVE(".";A1;1)>0);A1;STXT(A1;1;TROUVE(".";A1;1)-1)&","&STXT(A1;TROUVE(".";A1;1)+1;10))
Il suffit ensuite d'accrocher les formules qui faisaient référence à A1 à la cellule B1 pour que le calcul marche
Crdlmnt
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 398
27 mars 2009 à 14:19
Bonjour le plot
Celle là est effectivement bien meilleure que la mienne.
Bravo
Crdlmnt
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
27 mars 2009 à 14:22
Bonjour,

Tu as créé une Userform ? avec je suppose un textbox pour entrer une donnée.

Il suffit de remplacer le point par une virgule avec la fonction replace() :

num = Replace(TextBox1.Text,".",",")

;o)

EDIT: pas vu les réponses ... je dois être à coté de la plaque. Dsl
0

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

Posez votre question
Wow,

Merci beaucoup à tous ceux qui ont répondu ! C'est très apprécié et ça marche !

BOnne journée.
0