variable pour avoir deux chiffres après la virgule, y compris le dernier zéro

  • Initiateur de la discussion Initiateur de la discussion superbog
  • Date de début Date de début

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 !

superbog

XLDnaute Occasionnel
Bonsoir à tous,

Une question sans doute simple pour vous. J'ai créé une macro qui me permet d'envoyer par email le montant d'un compte, qui peut être créditeur ou débiteur. Il s'agit d'euros indiqués sous la forme usuelle avec deux chiffres après la virgule (par exemple 356,80).
Le problème est que si le dernier chiffre est un zéro (comme dans mon exemple), la macro ne le transmet pas. Ainsi dans mon email il est écrit 356,8.
Comment faire pour que ce soit bien 356,80 qui apparaisse.

Je précise que le nombre se trouve dans une cellule "F39" au format monétaire -1 234,10
Dans la macro je déclare une variable
Code:
du as double
(pour info j'ai essayé avec string mais cela ne me va pas car j'ai une condition selon que la variable est ou non supérieure à 0.)
puis je précise dans la macro que
Code:
du = Format(Range("F39"), "#,##0.00")
enfin je l'intègre à l'email
Code:
  strbody = "bonjour" & vbNewLine & vbNewLine & _
              "Vous trouverez ci-joint un état financier de votre dossier laissant apparaitre un solde de " & du & " euros" & vbNewLine & _
              "" & vbNewLine & _
              "" & p & "" & vbNewLine & ""

je reçois l'email qui me zappe le zéro et qui m'indique un solde de 356,8 euros...

help, je crise

Tout fonctionne très bien SAUF ce truc de zéro qui m'énerve


Merci d'avance
 
Re : variable pour avoir deux chiffres après la virgule, y compris le dernier zéro

Bonsoir.
La fonction Format renvoie un String. Ça ne sert donc à rien de l'affecter à un Double: Ça le reconvertit en Double !
Faites Dû = Range("F39") si vous voulez, mais surtout …un solde de " & Format(Dû, "0.00") & " € etc.

Remarque: Il serait plus logique de déclarer Dû As Currency plutôt que As Double
 
Dernière édition:
Re : variable pour avoir deux chiffres après la virgule, y compris le dernier zéro

Bonsour®

essayez :
Range("F39").NumberFormat="#,##0.00"

puis :
strbody = "bonjour" & vbNewLine & vbNewLine & _
"Vous trouverez ci-joint un état financier de votre dossier laissant apparaitre un solde de " & Range("F39").Text & " euros" & vbNewLine & _
"" & vbNewLine & _
"" & p & "" & vbNewLine & ""
 
Bonjour !

Si la valeur numérique est déjà formatée dans la cellule,

il suffit juste d'utiliser sa propriété [highlight]Text[/code] !

(Edit : trop tard Modeste a été plus rapide …)

_______________________________________________________________________________
Merci de cliquer sur J'aime ce post en bas à gauche de chaque message ayant aidé …

_______________________________________________________________________________
Je suis Paris, Charlie, Bruxelles, …

 
Re : variable pour avoir deux chiffres après la virgule, y compris le dernier zéro

merci à tous

Après divers essais, voici la solution qui fonctionne

je supprime la variable.

Code:
strbody = "bonjour" & vbNewLine & vbNewLine & _
              "Vous trouverez ci-joint pour information un état financier de votre dossier laissant apparaître un solde créditeur de " & Format(sh1.Range("F39"), "0.00") & " euros" & vbNewLine & _
              "" & vbNewLine & _
              "" & p & "" & vbNewLine & _
              "" & vbNewLine & ""

vous êtes géniaux
 
- 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

P
Réponses
7
Affichages
2 K
P
S
Réponses
4
Affichages
4 K
Taratata
T
Retour