Accueil – Le CFO masqué › Forums › Excel › code vba probleme avec total HT
- Ce sujet contient 1 réponse, 2 participants et a été mis à jour pour la dernière fois par
Consultant No.3, le il y a 5 années et 2 mois.
-
AuteurMessages
-
15 novembre 2019 à 15 h 20 min #59136
cavila
Participantbonsoir tout le monde j’ai besoin de votr aide svp pour code vba j’ai un problème avec le Prix HT il ne s’affiche pas a l’insertion de la Quantite et le Prix U dans les (textbox)T1 et T2? car il s’affiche après avoir sélection la valeur de la TVA dans la combobox et je voudrais qu’il s’affiche meme si y a pas de valeur tva voila le code.
`Private TEST As Boolean ‘déclare la variable TESTPrivate Sub UserForm_Initialize()
Me.ComboBox1.List = Array(“0.19”, “0.17”) ‘alimene la ComboBox1
End SubPrivate Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) ‘à l’appui sur une touche d’u clavier dans la TextBox1
If KeyAscii = 44 Then KeyAscii = 46: Exit Sub ‘remplace la virgule par le point
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 8 ‘n’autorise que les caractères {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
End SubPrivate Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) ‘à l’appui sur une touche d’u clavier dans la TextBox2
If KeyAscii = 44 Then KeyAscii = 46: Exit Sub ‘remplace la virgule par le point
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 8 ‘n’autorise que les caractères {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
End SubPrivate Sub ComboBox1_Change() ‘au changement dans la ComboBox1
Dim Q As Double ‘déclare la variable Q (Quantité)
Dim PU As Double ‘déclare la variable PU (Prix Unitaire)
Dim TVA As Double ‘déclare la variable TVA
Dim MHT As Double ‘déclare la variable MHT (Montant Hors Taxe)
Dim MTVA As Double ‘déclare la variable MTVA (Montant TVA)
Dim TTC As Double ‘déclare la variable TTCIf TEST = True Then TEST = False: Exit Sub ‘condition : si TEST est [Vrai], TEST devient [Faux], sort de la procédure
With Me.TextBox1 ‘prend en compte la TextBox1
If .Value = “” Then ‘condition : si la textbox est vide
TEST = True ‘définit la variable TEST
Me.ComboBox1.Value = “” ‘vide la ComboBox1
MsgBox “Vous devez renseigner la quantité !” ‘message
.SetFocus ‘place le curseur dans la TexbBox1
Exit Sub ‘sort de la procédure
End If ‘fin de la condition
End With ‘fin de la prise en compte de la TextBox1
With Me.TextBox2 ‘prend en compte la TextBox2
If .Value = “” Then ‘condition : si la textbox est vide
TEST = True ‘définit la variable TEST
Me.ComboBox1.Value = “” ‘vide la ComboBox1
MsgBox “Vous devez renseigner le Prix Unitaire !” ‘message
.SetFocus ‘place le curseur dans la TexbBox2
Exit Sub ‘sort de la procédure
End If ‘fin de la condition
End With ‘fin de la prise en compte de la TextBox1Q = CDbl(Val(Me.TextBox1.Value)) ‘définit la variable Q
PU = CDbl(Val(Me.TextBox2.Value)) ‘définit la variable PU
TVA = Val(Me.ComboBox1.Value) ‘définit la variable TVA
MHT = Q * PU: Me.TextBox3.Value = MHT: Me.TextBox3.Value = Replace(Me.TextBox3.Value, “,”, “.”) ‘définit la variable MHT et la renvoie dans la TextBox3
MTVA = MHT * TVA: Me.TextBox4.Value = MTVA: Me.TextBox4.Value = Replace(Me.TextBox4.Value, “,”, “.”) ‘définit la variable MTVA et la renvoie dasn la Textbox4
TTC = Round(MHT + (MHT * TVA), 2): Me.TextBox5.Value = TTC: Me.TextBox5.Value = Replace(Me.TextBox5.Value, “,”, “.”) ‘définit la variable TTC et la renvoie dans la TextBox5
End SubPrivate Sub CommandButton1_Click()
Unload Me ‘vide et ferme l’UserForm en cours
End Subet voila le fichier
Attachments:
You must be logged in to view attached files.16 novembre 2019 à 17 h 48 min #59140Consultant No.3
ParticipantBonjour,
Votre code de calcul et d’affichage des valeurs pour la TextBox3 qui représente le Prix HT sont placés dans la macro “Private Sub ComboBox1_Change()”. Ces calculs ne s’effectueront donc uniquement lors du changement de votre ComboBox1 qui correspond à la liste déroulante TVA.
Afin d’activer ce calcul même s’il n’y a pas de TVA, il vous faudra placer également le même code de calcul sous les 2 macros suivantes :
-Private Sub Textbox1_Change()
-Private Sub Textbox2_Change()Dans ce cas là chaque fois que la valeur de la quantité (Textbox1) ou du prix (Textbox2) changera, le Px unitaire sera calculé.
Cordialement,
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.