EXCEL2003 problème de point et virgule

Résolu
MART23 -  
 MART23 -
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   Statut Membre Dernière intervention   131
 
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   Statut Contributeur Dernière intervention   6 438
 
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   Statut Contributeur Dernière intervention   6 438
 
Bonjour le plot
Celle là est effectivement bien meilleure que la mienne.
Bravo
Crdlmnt
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
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
MART23
 
Wow,

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

BOnne journée.
0