[Résolu]Saisir avec les décimales dans le ComboBox d'un UserForm

Webperegrino

XLDnaute Impliqué
Supporter XLD
Bonsoir Le Forum,
J'ai à nouveau besoin d'un peu de lumière pour mon UserForm contenant des TextBox dans lesquels s'affichent correctement des nombres (monétaires sans €), sous forme de 123.25 par exemple.

Le problème est que lorsque je saisis une nouvelle valeur par dessus (exemple 120) en passant au textBox suivant (ou pendant la saisie) j'aimerai un affichage du style 120.00 comme l'affichage précédent.
Pouvez-vous me donner la solution ?

Ci-après plusieurs tentatives infructueuses sur les lignes précédée par '

Private Sub TextBEspeces_Change()
TextBSTotal = Val(TextBEspeces) + Val(TextBChq) + Val(TextBVac) + Val(TextBCult)
TextBSTotal = Format(CDbl(TextBSTotal), "### ### ### ###,##0.00")
TextBox21 = Val(TextBSTotal) + Val(TextBox20)
'TextBEspeces.NumberFormat.Value = "# ### ### ###,##0.00 $"
'TextBEspeces = Format(Val(Me.TextBEspeces.Value), "### ### ### ###,##0.00")
'TextBEspeces = Format(CDbl(TextBEspeces), "### ### ### ###,##0.00")
'TextBEspeces.Value = Format(TextBEspeces.Value, "### ### ### ###,##0.00")
End Sub

Ainsi, en lecture verticale de mes textBox alignés, l'affichage des valeurs se ferait convenablement, même si certains texbox n'ont ni décimes ni centimes.

Tout le reste fonctionne parfaitement,
Cordialement,
Webperegrino
 
Dernière édition:

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Saisir avec les décimales dans le textBox d'un UserForm (120 s'affichera 120,00)

Le Forum,
Carcharodon,
Deux mois de recherches personnelles : grâce à ExcelDownloads, 20 mn pour voir paraître une approche au résultat final ! Sensationnel !

Voici, ci-joint, ce que j'ai réalisé sur la droite de mon UserForm comme tentative avec votre proposition qui est en effet excellente : affichage avec virgule directement, bien à la Française !

Quant à l'affichage en passant dans la fenêtre suivante pour y faire aussi une éventuelle saisie, le ComboBox reste figé sur 125 et non 125,00 quand bien même j'ai saisi la valeur 125 sans décimale (pour aller plus vite).

Mon souhait serait de voir 125 passer aussi en 125,00 en quittant le ComboBox (ou le TextBox).

A part cette belle virgule que j'adore et qui apparaît je n'ai pas la mutation numérique souhaitée.

Je continue mes recherches car votre voie de recherche semble plus efficace.

A bientôt peut-être pour une solution parfaite ?

Merci à vous,
Webpreregrino
 

Pièces jointes

  • A l ouverture.jpg
    A l ouverture.jpg
    44.6 KB · Affichages: 345
  • Au passage à la fenêtre suivante.jpg
    Au passage à la fenêtre suivante.jpg
    46.4 KB · Affichages: 495

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Saisir avec les décimales dans le textBox d'un UserForm (120 s'affichera 120,00)

Bonjour Le Forum,

Carcharodon, voici l'exemple.

Le mot de passe est tikyt pour la protection des feuilles.
Dans mon fichier original ça ne bloque pas sur la macro au niveau de la date de la colonne B.
Mais le problème n'est pas là, inutile de s'y attarder.
Merci de continuer ainsi à me venir en aide,
Webperegrino

Nota : bien que par la suite mes textBox passeraient en ComboBox comme tu l'as proposé, j'ai garder les mêmes noms d'attribution dans les macros : TBDate, TextBox20, etc), la macro fonctionne tout aussi bien.
 

Pièces jointes

  • ESSAI(1).xls
    91.5 KB · Affichages: 152
  • ESSAI(1).xls
    91.5 KB · Affichages: 171
  • ESSAI(1).xls
    91.5 KB · Affichages: 184

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Saisir avec les décimales dans le textBox d'un UserForm (120 s'affichera 120,00)

Le Forum,
Au passage : petite rectification pour avoir des bons Sous-Totaux et Totaux :
Private Sub TextBEspeces_Change()
TextBSTotal = Val(TextBEspeces) + Val(TextBChq) + Val(TextBVac) + Val(TextBCult)
TextBSTotal = Format(CDbl(TextBSTotal), "### ### ### ###,##0.00")
TextBox21 = Val(TextBSTotal) + Val(TextBox20)
TextBox21 = Format(CDbl(TextBox21), "### ### ### ###,##0.00")
En Sub

Webperegrino
 

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Saisir avec les décimales dans le textBox d'un UserForm (120 s'affichera 120,00)

Le Forum,
Bonjour Carcharadon,
Merci pour cette proposition que je vais pouvoir essayer dans deux semaines seulement.
En effet, étant en voyage et passage chez mes deux filles, je ne pourrai utiliser Excel 2003 que chez ma deuxième.
Pour vérifier le fonctionnement de ta ligne de code, l'accès sur le poste actuel de ma 1ère est disponible sous 2007, une version à laquelle je ne suis pas du tout adapté [ne sachant pas atteindre développeur-Code-Sécurité des macros pour les activer].
A bientôt pour des nouvelles de mon application rectifiée.
Merci à toi et au Forum toujours aussi efficace et généreux en bons conseils.
Webperegrino
 

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Saisir avec les décimales dans le textBox d'un UserForm (120 s'affichera 120,00)

Le Forum, Carcharodon,
Étant plutôt téméraire j'ai fureté sur la toile et réussi à trouver le chemin d'activation des macros sous 2007.

Ta proposition << TextBEspeces.Value = Format(TextBEspeces.Value, "### ### ### ###,##0.00") >> ne donne pas plus de résultat concluant ; en effet, la saisie de 125 donne dans la fenêtre 1,01.25 au lieu de 125,00 en sortant de celle-ci.
C'est alors désastreux dans la fenêtre S/total et la fenêtre Total : les sommes ne prennnent que 1 comme valeur (et non 125,00).
Je continue mes recherches.
Toutefois la parade existe : saisir aussi les décimales dans la fenêtre (125,00 au lieu de 125) mais dommage alors que l'opérateur se transforme aussi en "poseur de zéros" au cours des saisies...
Webperegrino
 
C

Compte Supprimé 979

Guest
Re : Saisir avec les décimales dans le textBox d'un UserForm (120 s'affichera 120,00)

Bonjour le fil ;)
Salut Webperegrino

Tout simplement :
Code:
TextBEspeces.Value = Format(TextBEspeces.Value, "0.00")

Ensuite cela dépends de tes options régionales et du séparateur de décimal

A+
 

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Saisir avec les décimales dans le textBox d'un UserForm (120 s'affichera 120,00)

Le Forum, Carcharodon,
Bonjour Bruno,
Merci aussi pour ton implication.
Pas d'évolution toutefois avec ce dernier essai dans mon application réelle ; j'ai vraiment un UserForm récalcitrant...
Je vais donc opter pour "la pose des deux zéros en décimales, pour le bon alignement des chiffres" et me le faire tolérer auprès de ceux et celles qui vont saisir.
Merci encore,
Si je trouve le remède je reviens illico sur ce fil pour partager ma trouvaille !
Bonne soirée,
Webperegrino
 

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Saisir avec les décimales dans le textBox d'un UserForm (120 s'affichera 120,00)

Bonjour Le Forum,
Bonjour Carcharodon et BrunoM45,
Vos conseils m'ont été précieux.
J'ai fini mon montage de codes.
J'ai même réussi à placer un SpinUp et un Spin Down (une nouveauté pour moi en codification ; j'ai même réussi à éviter de 'bugguer' lors du défilement du Spin, au-deçà et au-delà de la liste disponible dans le ComboBox1). Cette fierté d'avoir réussi tout seul vient de vos conseils à tous sur ce Forum !
Mes UserForm "Corriger une Entrées, une Sortie", fonctionnent comme je le désire.
Je laisse la possibilité de placer les 0 en décimales ou pas dans les saisies.
Tout fonctionne parfaitement.
Si j'insiste ça m'affiche des erreurs.
Merci à vous.
Webperegrino
 

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2