Formule pour réécrire un montant en lettres

  • Formule pour réécrire un montant en lettres

    Posté par Marielle sur 25 janvier 2024 à 9h50

    Bonjour à tous

    Je me tourne vers vous pour m’aider à trouver une formule qui permette d’écrire en lettre, un montant saisi en chiffres dans un formulaire Powerapps.

    Je reste à votre écoute

    Merci d’avance

    Marielle a répondu Il y a 7 mois, 4 semaines 2 Membres · 2 Réponses
  • 2 Réponses
  • Nelson

    Membre
    25 janvier 2024 à 10h13

    Bonjour,

    Voici une solution pour le format anglais que vous pouvez adapter assez aisément (vidéo et msapp disponible) : https://powerusers.microsoft.com/t5/Power-Apps-Community-Blog/Number-to-word-conversion-tool/ba-p/258621

    Sa liste d’éléments se trouve dans la table se nommant “Period_1” qu’il utilise dans le “Text” de l’élément WordLabel.

    Il vous fournit un zip avec dedans son msapp.

    Vous pouvez dés lors tester et voir si cela vous convient et faire vos propres modifications.

    Bonne journée

    • Marielle

      Membre
      25 janvier 2024 à 13h24

      Merci beaucoup pour la promptitude de la réponse.

      J’ai suivi le tuto et essayé d’adapter en français et selon mon formulaire mais je ne m’en sors pas.

      Voici mon formulaire

      Je récupère le montant en chiffres dans le champ Montant ‘en chiffres) qui équivaut dans powerapps à la DataCardValue6.

      voici le code du OnChange de mon champ Montant en chiffres

      If(IsBlank(Find(“.”;DataCardValue6.Text));

      Concatenate(

      Concat(

      GroupBy(expandedForm;“Period”;“PeriodGroup”);

      // Read the hundred in the period.

      LookUp(PlaceValue;Digit=LookUp(PeriodGroup;Place=100).Value;Word & ” “) &

      // For 10-19, read the tens and ones together, otherwise separately.

      If(LookUp(PeriodGroup;Place=10).Value=1;

      LookUp(PlaceValue;Digit=Value(Concat(Filter(PeriodGroup;Place<>100);Text(Value)));Word & ” “);

      Concat(Filter(PeriodGroup;Place<>100);LookUp(PlaceValue;Digit=Value && Column=Place;Word & ” “))

      ) &

      // Read the period.

      Coalesce(LookUp(Period;Group=Period;Name & “, “);“”));“dollars”);

      Concatenate(

      Concat(

      GroupBy(expandedForm;“Period”;“PeriodGroup”);

      // Read the hundred in the period.

      LookUp(PlaceValue;Digit=LookUp(PeriodGroup;Place=100).Value;Word & ” “) &

      // For 10-19, read the tens and ones together, otherwise separately.

      If(LookUp(PeriodGroup;Place=10).Value=1;

      LookUp(PlaceValue;Digit=Value(Concat(Filter(PeriodGroup;Place<>100);Text(Value)));Word & ” “);

      Concat(Filter(PeriodGroup;Place<>100);LookUp(PlaceValue;Digit=Value && Column=Place;Word & ” “))

      ) &

      // Read the period.

      Coalesce(LookUp(Period;Group=Period;Name & “, “);“”)

      )))

      j(ai du mal avec la ligne Coalesce(LookUp(Period;Group=Period;Name & “, “);“”));“dollars”); qui indique une erreur (Name n’est pas valide ainsi de suite)

      Merci pour votre aide

Connectez-vous pour répondre.