[VBA] Calc TVA HT/TTC petit prob de if
Résolu
jpub
Messages postés
53
Statut
Membre
-
jpub Messages postés 53 Statut Membre -
jpub Messages postés 53 Statut Membre -
Bonjour,
Je viens de mettre en place un petit userform dans lequel l'utilisateur peut, en mettant un nombre, récuperer ou enlever la TVA de 5.5% ou 20%.
J'ai un petit problème de if imbriqué, si quelqu'un peut me donner une piste ?
Voici mon code en vous remerciant
Cordialement,
Jonathan
Je viens de mettre en place un petit userform dans lequel l'utilisateur peut, en mettant un nombre, récuperer ou enlever la TVA de 5.5% ou 20%.
J'ai un petit problème de if imbriqué, si quelqu'un peut me donner une piste ?
Voici mon code en vous remerciant
Private Sub CommandButton1_Click()
'on veut le HT
If OptionButton4.Enabled Then
If OptionButton2.Enabled Then 'HT 20%
Label3.Caption = "HT 20%"
Label4.Caption = Format(TextBox1.Value / 1.2, "0.0000")
Label8.Caption = (TextBox1.Value - Label4.Caption)
If OptionButton1.Enabled Then
Label3.Caption = "HT 5.5%" 'HT5.5%
Label4.Caption = Format(TextBox1.Value / 1.055, "0.0000")
Label8.Caption = (TextBox1.Value - Label4.Caption)
If OptionButton5.Enabled Then
Label3.Caption = "HT " & TextBox2.Value & "%" 'HT autre
Label4.Caption = Format(TextBox1.Value / TextBox2.Value, "0.0000")
Label8.Caption = (TextBox1.Value - TextBox1.Value)
End If
End If
End If
Else 'On veut le TTC
If OptionButton2.Enabled Then 'TTC 20%
Label3.Caption = "TTC 20%"
Label4.Caption = Format(TextBox2.Value * 1.2, "0.0000")
Label8.Caption = (Label4.Caption - TextBox2.Value)
If OptionButton1.Enabled Then 'TTC 5.5%
Label3.Caption = "TTC 5.5%"
Label4.Caption = Format(TextBox2.Value * 1.055, "0.0000")
Label8.Caption = (Label4.Caption - TextBox2.Value)
If OptionButton5.Enabled Then
Label3.Caption = "HT " & TextBox2.Value & "%" 'TTC autre
Label4.Caption = Format(TextBox1.Value / TextBox2.Value, "0.0000")
Label8.Caption = (TextBox1.Value - TextBox1.Value)
End If
End If
End If
End If
End Sub
Cordialement,
Jonathan
A voir également:
- [VBA] Calc TVA HT/TTC petit prob de if
- Petit 2 ✓ - Forum Windows
- Petit point vert snap ✓ - Forum Snapchat
- Trier du plus petit au plus grand excel - Guide
- Incompatibilité de type vba ✓ - Forum Programmation
- Comment imprimer une photo en petit ✓ - Forum Photo numérique
4 réponses
Bonjour,
C'est difficilement compréhensible comme cela...
Je dirais qu'il ne faut peut être pas imbriquer les If... Comme ceci peut être :
C'est difficilement compréhensible comme cela...
Je dirais qu'il ne faut peut être pas imbriquer les If... Comme ceci peut être :
Private Sub CommandButton1_Click()
'on veut le HT
If OptionButton4.Enabled Then
If OptionButton2.Enabled Then 'HT 20%
Label3.Caption = "HT 20%"
Label4.Caption = Format(TextBox1.Value / 1.2, "0.0000")
Label8.Caption = (TextBox1.Value - Label4.Caption)
End If
If OptionButton1.Enabled Then
Label3.Caption = "HT 5.5%" 'HT5.5%
Label4.Caption = Format(TextBox1.Value / 1.055, "0.0000")
Label8.Caption = (TextBox1.Value - Label4.Caption)
End If
If OptionButton5.Enabled Then
Label3.Caption = "HT " & TextBox2.Value & "%" 'HT autre
Label4.Caption = Format(TextBox1.Value / TextBox2.Value, "0.0000")
Label8.Caption = (TextBox1.Value - TextBox1.Value)
End If
Else 'On veut le TTC
If OptionButton2.Enabled Then 'TTC 20%
Label3.Caption = "TTC 20%"
Label4.Caption = Format(TextBox2.Value * 1.2, "0.0000")
Label8.Caption = (Label4.Caption - TextBox2.Value)
End If
If OptionButton1.Enabled Then 'TTC 5.5%
Label3.Caption = "TTC 5.5%"
Label4.Caption = Format(TextBox2.Value * 1.055, "0.0000")
Label8.Caption = (Label4.Caption - TextBox2.Value)
End If
If OptionButton5.Enabled Then
Label3.Caption = "HT " & TextBox2.Value & "%" 'TTC autre
Label4.Caption = Format(TextBox1.Value / TextBox2.Value, "0.0000")
Label8.Caption = (TextBox1.Value - TextBox1.Value)
End If
End If
End Sub
Bonjour Franck,
Merci pour votre aide, j'avoue que je voulais faire compliqué pour pas grand chose, même si le if imbriqués m'auraient bien plus pour comprendre la mécanique.
J'ai donc modifié mon userform avec 4 boutons et une seule textbox
voici le code
Merci à vous,
Jonathan
Merci pour votre aide, j'avoue que je voulais faire compliqué pour pas grand chose, même si le if imbriqués m'auraient bien plus pour comprendre la mécanique.
J'ai donc modifié mon userform avec 4 boutons et une seule textbox
voici le code
Private Sub CommandButton1_Click()
If TextBox1 = "" Then
MsgBox "Veuillez renseigner un montant"
Exit Sub
End If
Label3.Caption = "TTC 20%"
Label4.Caption = Format(TextBox1.Value * 1.2, "0.0000")
Label8.Caption = (Label4.Caption - TextBox1.Value)
End Sub
Private Sub CommandButton2_Click()
If TextBox1 = "" Then
MsgBox "Veuillez renseigner un montant"
Exit Sub
End If
Label3.Caption = "HT 20%"
Label4.Caption = Format(TextBox1.Value / 1.2, "0.0000")
Label8.Caption = (Label4.Caption - TextBox1.Value)
End Sub
Private Sub CommandButton3_Click()
If TextBox1 = "" Then
MsgBox "Veuillez renseigner un montant"
Exit Sub
End If
Label3.Caption = "TTC 5.5%"
Label4.Caption = Format(TextBox1.Value * 1.055, "0.0000")
Label8.Caption = (Label4.Caption - TextBox1.Value)
End Sub
Private Sub CommandButton4_Click()
If TextBox1 = "" Then
MsgBox "Veuillez renseigner un montant"
Exit Sub
End If
Label3.Caption = "HT 20%"
Label4.Caption = Format(TextBox1.Value / 1.055, "0.0000")
Label8.Caption = (Label4.Caption - TextBox1.Value)
End Sub
Private Sub UserForm_Click()
End Sub
Merci à vous,
Jonathan
Je penses que ta première idée était la bonne. Lorsque tu laisse un choix d'option à l'utilisateur, le bon contrôle à utiliser est le bouton d'option.
Regarde ce classeur exemple :
https://www.cjoint.com/?DIqmSMFR7Zn
Et son code :
Regarde ce classeur exemple :
https://www.cjoint.com/?DIqmSMFR7Zn
Et son code :
Option Explicit
Sub CalculTVA(NumOption As Integer)
Dim MaVal As Double
If TextBox1 = "" Then MsgBox "Veuillez renseigner un montant": Exit Sub
MaVal = CDbl(Replace(TextBox1, ".", ","))
Select Case NumOption
Case 1 'TTC 20%
TextBox2.Value = Format(MaVal * 1.2, "0.0000") - MaVal
Case 2 'TTC 5,5%
TextBox2.Value = Format(MaVal * 1.055, "0.0000") - MaVal
Case 3 'HT 20%
TextBox2.Value = Format(MaVal / 1.2, "0.0000") - MaVal
Case 4 'HT 5,5%
TextBox2.Value = Format(MaVal / 1.055, "0.0000") - MaVal
End Select
End Sub
Private Sub OptionButton1_Click()
If OptionButton1 = True Then CalculTVA 1
End Sub
Private Sub OptionButton2_Click()
If OptionButton2 = True Then CalculTVA 2
End Sub
Private Sub OptionButton3_Click()
If OptionButton3 = True Then CalculTVA 3
End Sub
Private Sub OptionButton4_Click()
If OptionButton4 = True Then CalculTVA 4
End Sub