Format formule label VBA

O

Ouin-Ouin

Guest
Re tout le Forum,

Je viens avec une question de formatage en VBA pour un label:
comment écrire le code pour formater:

Private Sub TextBox13_Change()

On Error GoTo erreur
Label1.Caption = (TextBox14.Value * TextBox13.Value) / 100
Label2.Caption = TextBox13.Value * (100 - TextBox14.Value) / 100


Exit Sub
erreur:
Label1.Caption = 0
Label2.Caption = 0

End Sub

au format: .NumberFormat = "##,###,##0.000"

Merci de votre aide et bon a-midi
Ouin-Ouin
 
Y

yeahou

Guest
Bonjour Ouin Ouin

La fonction format devrait te convenir


Label1.Caption = Format((TextBox14.Value * TextBox13.Value) / 100,"##,###,##0.000")
Label2.Caption = Format(TextBox13.Value * (100 - TextBox14.Value) / 100, "##,###,##0.000")

Cordialement, A+
 
O

Ouin-Ouin

Guest
Bonsoir le Forum, Salut yeahou ,

Génial merci de ton aide ça marche et maintenant dernière étape:

comment lui faire comprendre que les chiffres qui arrivent en Excel sous ce format sont fait pour êtres travaillés avec des filtres et faire des additions/soustractions....
Actuellement je peux pas ( oui je peux ) mais il me met comme résultat 0,000
alors que j'aditionne ( 100,000+200,000)

Merci et excellente soirée
Ouin-Ouin
 
O

Ouin-Ouin

Guest
Re tout le monde,

oui c'est cela
en faite dans l'USF je mets un montant Brut puis un taux en % et cela me donne un montant net pour le résultat

J'ai besoin dans mes celulles le montant brut puis la déduction en chiffre ( résultat du calcul du taux en chiffre) et le montant net et ensuite dans les colonnes de ma feuille je chais des additions avec les filtres pour faire des regroupements par certains critères

@plus et merci Ouin-Ouin
 
O

Ouin-Ouin

Guest
Hello,
Merci de tes nouvelles ce qui s'écrit comment sur cette procédure
( Désolé je suis novice )
Merci de ton aide
Ouin-Ouin

Private Sub TextBox13_Change()

On Error GoTo erreur
Label1.Caption = Format((TextBox14.Value * TextBox13.Value) / 100, "##,###,##0.000")

Label2.Caption = Format(TextBox13.Value * (100 - TextBox14.Value) / 100, "##,###,##0.000")


Exit Sub
erreur:
Label1.Caption = 0
Label2.Caption = 0

End Sub
 
@

@+Thierry

Guest
Bonjour Ouin Ouin, Yeahou, le Forum

Ce n'est pas à ce moment là (là tu envoies les résultats dans les labels) que tu dois utiliser la proposition de Yeahou, c'est lors de la récupération de ce qu'il y a dans les Labels...

Perso, moi, je ferai tout ceci en déclarant des Variables Doubles et Publiques Niveau Module...

Top du Module (Sous Option Explicit)
Dim Resultat1 as Double
Dim Resultat2 as Double


Private Sub TextBox13_Change()
On Error GoTo erreur
Resultat1 = (TextBox14.Value * TextBox13.Value) / 100
Resultat2 = (TextBox13.Value * (100 - TextBox14.Value) / 100

Label1.Caption = Format(Resultat1, "##,###,##0.000")
Label2.Caption = Format(Resultat2, "##,###,##0.000")

Exit Sub
erreur:
Label1.Caption = 0
Label2.Caption = 0
End Sub

Et imaginons que tu envoies ces résultats dans la feuilles par un CommandButton çà donnerait ceci :
Private Sub CommandButton1_Click()
If Resultat1 <> 0 And Resultat2 <> 0 Then
With Sheets("LaFeuille")
.Range("A1") = Resultat1
.Range("A2") = Resultat2
End With
Else
MsgBox "Les Calculs ne sont pas faits"
End If
End Sub

Bon Aprèm
@+Thierry
 
O

Ouin-Ouin

Guest
Bonsoir le Forum. Bonsoit Thierry,

Super sympas Thierry merci beaucoup de ton aide, toutefois j'ai un petit soucis

j'ai recopié ta procédure là ou tu l'as demandé j'ai essayé cet après-midi et ce soir mais en vain la ligne ci-dessous me crée un petit soucis

Resultat2 = (TextBox13.Value * (100 - TextBox14.Value) / 100
vient s'afficher en rouge dans VBA et lors de l'éxécution il me met
erreur de compilation:
erreur de synthaxe

Volà la procédure comme décrit:

Option Explicit
Dim Resultat1 As Double
Dim Resultat2 As Double


Private Sub TextBox13_Change()
On Error GoTo erreur
Resultat1 = (TextBox14.Value * TextBox13.Value) / 100
Resultat2 = (TextBox13.Value * (100 - TextBox14.Value) / 100

Label1.Caption = Format(Resultat1, "##,###,##0.000")
Label2.Caption = Format(Resultat2, "##,###,##0.000")

Exit Sub
erreur:
Label1.Caption = 0
Label2.Caption = 0
End Sub

Merci et à @plus
Ouin-Ouin
 
@

@+Thierry

Guest
Salut Ouin Ouin, le Forum

Oui en fait je n'ai fait que recopier ta procédure du post de 13:44 Directement dans mon Post.

Label1.Caption = Format((TextBox14.Value * TextBox13.Value) / 100, "##,###,##0.000")
Label2.Caption = Format(TextBox13.Value * (100 - TextBox14.Value) / 100, "##,###,##0.000")

En Ceci :
Resultat1 = (TextBox14.Value * TextBox13.Value) / 100
Resultat2 = (TextBox13.Value * (100 - TextBox14.Value) / 100

Mais en fait selon le résultat désiré il manque une parenthèse
Resultat2 = (TextBox13.Value * (100 - TextBox14.Value) / 100)

ou il y en a une en trop !
Resultat2 = TextBox1.Value * (100 - TextBox1.Value) / 100

Bonne Soirée
@+Thierry
 
O

Ouin-Ouin

Guest
Bonjour Thierry, Bonjour le Forum,

Merci Thierry pour ton aide. J'ai corrigée la procédure et effectivment cela va mieux maintenant. Simplement les calculs ne se font pas (plus)
Les infos vont bien à la bonne place mais ils arrivent sous forme de texte ( je suppose ) étant donnée que je ne peux pas l'utiliser pour des calculs ( exemple de la somme en Excel ).
Les Labels qui devraient être des valeurs calculées viennent eux avec la valeur zéro ( dans l'USF elles sont bien sûr là déjà avec la valeur zéro )

En annexe un fichier zippé le tout se trouve dans l'USF1 peut être que cela pourrait aider à voir l'erreur

Merci à tous pour votre aide et excellente journée ensoleillée et profiter de vos vacances s'il y en à
Ouin-Ouin

P.S.
Les divers bugs sont dûs à la suppression de fichier pour avoir pu le zipper
 

Pièces jointes

  • RS_formatnbre.zip
    47.9 KB · Affichages: 67

Discussions similaires

Réponses
3
Affichages
351
Réponses
6
Affichages
299

Statistiques des forums

Discussions
312 558
Messages
2 089 596
Membres
104 220
dernier inscrit
Fredericchau