Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Augmenter ou réduire le nombre de décimales par un spinbutton

  • Initiateur de la discussion Initiateur de la discussion Gregouz59
  • 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 !

Gregouz59

XLDnaute Nouveau
Bonjour à tous,
Je suis actuellement en phase de création d'un fichier excel avec de nombreuses UF.
Dans l'une d'elles il y a un textbox ou s'affiche le résultat d'un calcul (provenant d'autres textbox), à côté de ce textbox j'ai mis un Spinbutton afin de permettre à l'utilisateur d'augmenter ou de diminuer (mini 3 et maxi 6) le nombre de chiffres après la virgule.

Cela fait 2 jours que je me creuse la tête pour faire fonctionner ce spinbutton et réussir à faire bouger la quantité de décimales et...RIEN !

J'ai essayé une variable pour incrémenter le
"textbox75 = format(textbox75, "0." & variable)"
à chaque fois que l'on clique sur le Spinbutton (haut ou bas) mais ça ne fonctionne pas.

Quelqu'un aurait-il la solution "miracle" à ce problème ?

Merci d'avance pour votre aide.

Bonne soirée

Greg
 
Re : Augmenter ou réduire le nombre de décimales par un spinbutton

Bonsour®
tu ne peut prendre directement le contenu du textbox75,
l'affichage est un texte
ce qui est tronqué est alors perdu,
ce qui n'est pas affiché n'existe pas .
il faut passer par une variable intermediaire (résultat du calcul)
fixer les bornes du spin_button ici min=3; max=6

Private Sub SpinButtonXX_Change()
'-- adapter le N° du spinbutton
TextBox75 = Format(CDbl(Range("G9")), "0." & String(SpinButtonXX.Value, "0"))
End Sub
 
Re : Augmenter ou réduire le nombre de décimales par un spinbutton

Bonsoir geedee,

Merci pour le coup de main, j'ai réussi à faire ce que je voulais.
J'ai rajouté deux/trois opérations pour tester mon code et tout fonctionne, je met le code complet de mon test si jamais vous trouvez qu'il peut être "allégé".

Encore merci et bon week-end.

Greg

Code de mon "test" :
 
Re : Augmenter ou réduire le nombre de décimales par un spinbutton

bonjour Gregouz,Modeste
suis donc l'exemple de Modeste
pour ce code besoin de 3 textbox et d'1 spinbutton

Code:
Dim result As Double

Private Sub SpinButton1_Change()

If TextBox3 <> "" Then
TextBox3 = Format(result, "0." & String(SpinButton1.Value, "0"))
End If

End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii = 44 Or KeyAscii = 46 Then          'Check for decimal separator "." or ","
        KeyAscii = Asc(Application.International(xlDecimalSeparator))
    End If
End Sub

Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii = 44 Or KeyAscii = 46 Then          'Check for decimal separator "." or ","
        KeyAscii = Asc(Application.International(xlDecimalSeparator))
    End If
End Sub

Private Sub TextBox2_Change()
If IsNumeric(Me.TextBox1) And IsNumeric(Me.TextBox2) Then
result = CDbl(Me.TextBox1) / CDbl(Me.TextBox2)
Me.TextBox3 = result
End If
End Sub

Private Sub UserForm_Initialize()

Me.SpinButton1.Min = 3
Me.SpinButton1.Max = 6

End Sub
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…