Des nombres au format monétaire restent au format Texte

Bonsoir toutes et tous,

sur mon UsezForm_Famille,j'utilise un TBMontant, qui me permet de choisir un tarif

le total de ce montant s'affiche au format texte dans la colonne Coût (I) du tableau

ce format m'empêche de totaliser les montants de la colonne I dans la feuille Famille

j'ai vu beaucoup de solution sur le forum,mais aucune ne me convient

un peu d'aide m'aiderait beaucoup

Amitiés

Pierrot

55pedicure-cp01.xlsm (131.75 Ko)

Cappe Pierre, le forum,

La formule en i1 est =SOMME(I3:I7)

Ne devrait-elle pas couvrir une plus grande plage, tel =SOMME(I3:I777) ?

LaCéline

Bonjour, LaCéline

Merci pour ta réponse, mais la longueur de la liste n'influence pas le format des nombres.

Je cherche toujours.

Merci

amitiés

Pierrot

Bonjour,

Contenu d'une TextBox = texte (TOUJOURS !).

Lorsque ce texte représente un nombre, Excel le convertit en principe automatiquement en nombre lors de l'affectation.

Si ce "nombre" est formaté avec des éléments de type textuel, la conversion auto n'est plus possible...

Il convient donc de convertir le contenu de la TextBox en nombre pour l'affecter !

Cordialement.

Cappe Pierre, le forum,

Les champs texte des forumlaires tel : TBMontant, malgré qu'on leurs donne une apparence de chiffre, il ne contienne que du texte.

Les chiffres sont considérés comme du texte.

Au moment de copier le contenu de TBMmontant dans la feuille, il faut donc, dans ton cas, enlever le symbole Euro (fonction Replace) et convertir le reste en chiffre ( CInt )

Si on va dans le code du bouton "Valider nouvelle entrée"

Remplacer :

Range("I" & Ligne).Value = TBMontant

par

Range("I" & Ligne).Value = CInt(Replace(TBMontant, " €", ""))

Corriger aussi les autres occurrences de lecture du champ TBMontant lors de la copie dans la feuille.

LaCéline

Bonjour laceline,

Nécessité de convertir, je venais juste de le souligner ! Mais convertir avec CInt (Integer) n'est sans doute pas très approprié pour un montant, qui est normalement de type Currency...

La solution de conversion la plus usuelle utilise Val, qui peut s'appliquer à différents cas de figure et laisse Excel faire le reste :

........ = Val(Replace(TBMontant.Value, ",", "."))

Cordialement.

Bonjour à vous deux et merci pour votre solution

Celle de MFerrand me laisse un message d'erreur

pour le reste cela marche

un autre point

Sur l'UserForm_Famille à la sélection d'un nom de la ListBox, la case Montant

ne se remplit pas avec les nombres de la colonne I.pouvez-vous jeter un coup SVP

Amitiés

Pierrot


Pour MFerrand

j'ai pu adapter ta formule dans le code Ajouter mais aussi dans le code Modifier

un grand merci à vous deux

amitiés

Pierrot

Rechercher des sujets similaires à "nombres format monetaire restent texte"