Bonjour,
Lorsque j'appuie sur le bouton ajouter de mon userform j'ai un message d'erreur type 13 incompatibilité de type qui ressort sur la ligne de code suivante :
UserFormRéaliséMatériel.TxtMttTTC.Value = (CDbl(TxtMttHT.Value) + CDbl(TxtTVA.Value))
Voici mon code complet :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| Option Explicit
Public memoire As Integer
Private Sub BttValider_Click()
' Fermer le userform
UserFormRéaliséMatériel.Hide
End Sub
Private Sub ButAjout_Click()
'Ajouter les données saisie dans le récap
'Vérification que l'ensemble des champs sont remplis
If UserFormRéaliséMatériel.CbxNumEtude.ListIndex > 0 And UserFormRéaliséMatériel.TxtDateFac <> "" And UserFormRéaliséMatériel.TxtDesgMat <> "" And UserFormRéaliséMatériel.TxtMttHT <> "" And UserFormRéaliséMatériel.TxtTVA <> "" Then
With UserFormRéaliséMatériel.ListFacture
.AddItem
.List(memoire, 0) = UserFormRéaliséMatériel.TxtDateFac
.List(memoire, 1) = UserFormRéaliséMatériel.TxtDesgMat
.List(memoire, 2) = UserFormRéaliséMatériel.TxtMttHT
.List(memoire, 3) = UserFormRéaliséMatériel.TxtMttTTC
End With
memoire = memoire + 1
UserFormRéaliséMatériel.TxtDateFac = ""
UserFormRéaliséMatériel.TxtDesgMat = ""
UserFormRéaliséMatériel.TxtMttHT = ""
UserFormRéaliséMatériel.TxtTVA = ""
UserFormRéaliséMatériel.TxtMttTTC = ""
End If
End Sub
Private Sub ButAnnul_Click()
UserFormRéaliséMatériel.Hide
End Sub
Private Sub CbxNumEtude_Change()
' Affiche le nom de l'étude correspondant au n° sélectionné
UserFormRéaliséMatériel.LblNomEtude = Application.WorksheetFunction.VLookup(CbxNumEtude, Sheets("Budget Initial").Range("tblEtude"), 2, 0)
End Sub
Private Sub TxtDateFac_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Contrôle que les chiffres renvoie bien à une date
If Not IsDate(TxtDateFac) And TxtDateFac <> "" Then
MsgBox "Merci de respecter le format de date suivant : JJ/MM/AA"
TxtDateFac = ""
End If
End Sub
Private Sub TxtMttHT_Change()
'Contrôle uniquement des chiffres
If Not IsNumeric(TxtMttHT) And TxtMttHT <> "" Then
MsgBox "Uniquement des chiffres !"
TxtMttHT = ""
End If
End Sub
Private Sub TxtTVA_Change()
'Contrôle uniquement des chiffres
If Not IsNumeric(TxtTVA) And TxtTVA <> "" Then
MsgBox "Uniquement des chiffres !"
TxtTVA = ""
End If
' Affiche le montant TTC
UserFormRéaliséMatériel.TxtMttTTC = CDbl(TxtMttHT.Value) + CDbl(TxtTVA.Value)
End Sub |
Cela fait des heures que je cherche à comprendre d'où viens mon erreur mais en vain. Sachant que j'ai besoin que les décimale soit bien prises en compte dans l'adition sur laquelle l'erreur ressort.
Je vous met également mon fichier excel.
Partager