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

XL 2013 Multiplication Textbox avec pourcentage

Hauliege

XLDnaute Nouveau
Bonjour chers Tous,

Dans mon code Vba j'ai fait la multiplication entre des TextBox et le résultat est correct.
Mon problème à la validation de mon code j'ai un message "d'erreur 13 incompatibilité de type".
Débogage indiqué au niveau de mes ComboBox et avec "Val" ou "CDbl" le problème demeure????!!!
Ci-joint fichier et Merci de votre aide!
Hauliege
 

Pièces jointes

  • Test.xlsm
    184.2 KB · Affichages: 40
Solution
Re
de mon Ordi Lol
j'ai cette procédure dans mon fichier .
VB:
Private Sub CmbB_Noms_Clients_Change()
With Me.CmbB_Noms_Clients
        Me.TxtB_Adresse_1.Value = .List(.ListIndex, 2)
        Me.TxtB_Adresse_2.Value = .List(.ListIndex, 3)
        Me.TxtB_Telephone.Value = .List(.ListIndex, 4)
        Me.TxtB_Fax.Value = .List(.ListIndex, 5)
        Me.TxtB_Email.Value = .List(.ListIndex, 6)
End With
End Sub

voir Vidéo !

jean marie

Hauliege

XLDnaute Nouveau
Bonjour le Forum,
Bonjour Jean Marie,
Ca y est j'ai compris il me fallait conditionner et séquencer les Combobox et TextBox concernés par le calcul des Taux, Montants de taux ,HT,TTC et Net a payer dans un ordre respectant le resultat des HT,TTC et Net a payer comme ceci :
Code:
Private Sub CmbB_Nom_Client_Change()

If CmbB_Nom_Client.ListIndex > -1 Then
  Me.TxTB_Adresse1.Value = Sheets("Clients").Range("C" & CmbB_Nom_Client.ListIndex + 6)
  Me.TxTB_Adresse2.Value = Sheets("Clients").Range("E" & CmbB_Nom_Client.ListIndex + 6)
  Me.TxTB_Tél.Value = Sheets("Clients").Range("F" & CmbB_Nom_Client.ListIndex + 6)
  Me.TxTB_Fax.Value = Sheets("Clients").Range("G" & CmbB_Nom_Client.ListIndex + 6)
  Me.TxTB_Email.Value = Sheets("Clients").Range("I" & CmbB_Nom_Client.ListIndex + 6)
End If

End Sub

Private Sub CmbB_Code_TVA_Change()

If CmbB_Code_TVA.ListIndex > -1 Then
  TxTB_Taux_TVA.Value = Sheets("Tva").Range("B" & CmbB_Code_TVA.ListIndex + 2)

  If TxTB_Net_HT.Value <> "" And TxTB_Taux_TVA.Value <> "" Then
  TxtB_Montant_TVA.Value = TxTB_Net_HT.Value * TxTB_Taux_TVA.Value
  TxTB_TTC.Value = Val(TxTB_Net_HT.Value) + Val(TxtB_Montant_TVA.Value)
  End If

  If TxTB_Net_HT.Value <> "" And TxTB_Taux_TVA.Value = "" Then
  TxtB_Montant_TVA.Value = ""
  TxTB_TTC.Value = Val(TxTB_Net_HT.Value) * 1
  End If

End If

End Sub

Private Sub CmbB_Code_AIRSI_Change()

If CmbB_Code_AIRSI.ListIndex > -1 Then
  TxTB_Taux_AIRSI.Value = Sheets("Airsi").Range("B" & Me.CmbB_Code_AIRSI.ListIndex + 2)

  If TxTB_TTC.Value <> "" And TxTB_Taux_AIRSI.Value <> "" Then
  TxTB_Montant_AIRSI.Value = TxTB_TTC.Value * TxTB_Taux_AIRSI.Value
  TxTB_Net_A_Payer.Value = Val(TxTB_TTC.Value) + Val(TxTB_Montant_AIRSI.Value)
  End If

  If TxTB_TTC.Value <> "" And TxTB_Taux_AIRSI.Value = "" Then
  TxTB_Montant_AIRSI.Value = ""
  TxTB_Net_A_Payer.Value = Val(TxTB_TTC.Value) * 1
  End If

End If

End Sub
.
.
.
.
.
Private Sub TxTB_Montant_HT_Change()

If TxtB_Montant_HT.Value <> "" And TxTB_Montant_Remise.Value <> "" Then
TxTB_Net_HT.Value = Val(TxtB_Montant_HT.Value) - Val(TxTB_Montant_Remise.Value)
End If

If TxtB_Montant_HT.Value <> "" And TxTB_Montant_Remise.Value = "" Then
TxTB_Net_HT.Value = Val(TxtB_Montant_HT.Value) * 1
TxTB_TTC.Value = Val(TxTB_Net_HT.Value) * 1
End If

End Sub

Private Sub TxTB_TTC_Change()

If TxTB_TTC.Value <> "" And TxTB_Taux_AIRSI.Value = "" Then
TxTB_Net_A_Payer.Value = Val(TxTB_TTC.Value) * 1
End If

If TxTB_TTC.Value <> "" And TxTB_Montant_AIRSI.Value <> "" Then
TxTB_Net_A_Payer.Value = Val(TxTB_TTC.Value) + Val(TxTB_Montant_AIRSI.Value)
End If

End Sub
Private Sub TxTB_Taux_AIRSI_Change()

If TxtB_Montant_HT.Value <> "" Then
If TxTB_TTC.Value <> "" And TxTB_Taux_AIRSI.Value <> "" Then
TxTB_Montant_AIRSI.Value = Val(TxTB_TTC.Value) * Val(TxTB_Taux_AIRSI.Value)
End If
Else
TxTB_Montant_AIRSI.Value = ""
End If

End Sub

Je n'aurais pas capté sans ton aide mon cher ami Jean Marie.
Merci à toi et au Forum...
Encore Merci
Hauliege
 

Discussions similaires

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