Calcul avec fonction TEXTE qui ne fonctionne pas comme je le pense

Bonjour à toutes et à tous,

Voici mon fichier test.

En M1, je peux choisir une monnaie.
Le prix de base est en AED. Sur la 2ème feuille, il y a les cours du change.

20cours-change.xlsx (11.62 Ko)

J'ai crée une formule en I4 qui calcule les prix et tout se passe bien tant que je n'ajoute pas la fonction TEXTE (Oui je voudrais que le nom de la monnaie apparaisse après le montant calculé)
En euros, ça fonctionne mais pas dans les autres monnaies. En K et L les résultats qui devraient s'afficher en I4.

Où ai je fait une erreur ?

Merci d'avance pour vos aides et pistes.

Bonne journée

Bonjour,

Il faut simplement laisser libre (en utilisant #) le nombre de chiffres à afficher avant la virgule.

Je vous laisse regarder dans le fichier joint.

Est-ce que cela répond à votre demande ?

Bonjour, sinon utilisez votre onglet "Données" comme base de "rechercheV" au lieu de plusieurs conditions.

4cours-change.xlsx (13.55 Ko)

Merci à vous deux.

@Fatos : c'est exactement ce que je veux mais pouvez vous m'expliquer la formule svp. Je ne comprends pas comment elle fonctionne.

@Xmenpl : Cela fonctionne aussi mais sans la "mise en page" de la réponse. Et c'est nettement plus pratique à la lecture d'avoir des espaces surtout pour les grand nombres.

Merci encore ;)

Quelques explications complémentaires sur la formule proposée :

=TEXTE(H4/RECHERCHEV(M1;Données!F3:H5;2;FAUX);"# ##0,00")&" "&RECHERCHEV(M1;Données!$F$3:$H$5;3;FAUX)
  • RECHERCHEV(M1;Données!F3:H5;2;FAUX) récupère le taux de change de la devise choisie ;
  • de même, RECHERCHEV(M1;Données!F3:H5;3;FAUX) récupère le symbole de la devise choisie ;
  • ensuite, le prix AED (H4) est divisé par le taux de change pour obtenir le prix dans le devise choisie ;
  • pour mettre en forme ce nombre, il est converti en texte (à l'aide de la fonction TEXTE) avec le format "# ##0,00" ;

Pour finir, le texte obtenu par la fonction TEXTE est concaténé avec le symbole de la devise choisie (en les séparant d'un espace).

En espérant que cela sera plus clair

Merci beaucoup Fatos, effectivement nettement plus clair.
Parce que c'est bien que ça fonctionne mais autant comprendre le pourquoi du comment.

J'ai une autre question.

Voici mon fichier.

J'ai du coup un souci de calcul avec les valeurs affichées.

De K13 à K15, j'ai des valeurs mais si je veux faire des calculs (somme par exemple, j'obtiens 0.00)

Merci pour vos pistes et aides.

Bonne fin de journée.

C'est parce que les valeurs stockées dans ces cellules sont du texte.

Utilisez la fonction CNUM pour convertir du texte en nombre (cf. fichier joint).

à vous lire,

Je vous remercie. Honte à moi je connaissais CNUM mais pas pensé :(

Par contre, il y a un problème sur votre fichier, quand on sélectionne Franc Suisse ou dollar, ça indique #valeur.

Merci

Cela vient du fait qu'avec la devise en bout de chaine, CNUM n'est pas capable de reconnaitre un texte convertible en nombre.

Dans le fichier joint, j'identifie puis supprime la devise pour que cela fonctionne.

Mais on peut se demander pourquoi forcément ajouter la devise dans la même cellule initialement (forçant la conversion en texte) si derrière, il faut le résultat sous forme de nombre pour le manipuler.

Est-ce que le symbole de la devise au dessus ou à droite de la cellule ne serait pas également convenable (ce qui simplifierait le traitement) ?

A vous lire,

Bonsoir à tous,

Est-ce que le symbole de la devise au dessus ou à droite de la cellule ne serait pas également convenable (ce qui simplifierait le traitement) ?

La simplicité est souvent salutaire....

image

L'unité monétaire étant déjà indiquée (ligne du dessus), la redondance est bien inutile, surtout qu'elle complique les suites données à l’information.

Merci à vous pour vos aides, explications et idées.

Effectivement, je vais partir sur la simplicité même si j'aimais bien l'idée du rappel monétaire après la valeur.
Mais rien de grave.

Un énorme merci à vous.

Bonne soirée

Rechercher des sujets similaires à "calcul fonction texte qui fonctionne pas comme pense"