IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Erreur incompatibilité de type


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    CDG
    Inscrit en
    Mai 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : CDG

    Informations forums :
    Inscription : Mai 2020
    Messages : 7
    Par défaut Erreur incompatibilité de type
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserFormRéaliséMatériel.TxtMttTTC.Value = (CDbl(TxtMttHT.Value) + CDbl(TxtTVA.Value))
    Voici mon code complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Cette erreur est parfaitement logique !

    il faudrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Not IsNumeric(TxtTVA) And TxtTVA <> "" Then
        MsgBox "Uniquement des chiffres !"
        TxtTVA = ""
    Else
        ' Affiche le montant TTC
        UserFormRéaliséMatériel.TxtMttTTC = CDbl(TxtMttHT.Value) + CDbl(TxtTVA.Value)
    End If
    Mais le message devient vite pénible ...

  3. #3
    Membre du Club
    Femme Profil pro
    CDG
    Inscrit en
    Mai 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : CDG

    Informations forums :
    Inscription : Mai 2020
    Messages : 7
    Par défaut
    Bonjour,

    Merci pour votre réponse.

    Malheureusement le problème persiste ...

    Pouvez vous m'expliquer pourquoi j'ai ce message ?

    Merci par avance.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par 1000Lène Voir le message

    Bonjour,

    Il vous manque sans doute une table des taux de TVA, ce qui vous permettrait de calculer directement la valeur et le montant TTC. Je vous conseille également d'arrondir à deux décimales tout de suite vos valeurs intermédiaires de TVA. De mon point de vue, il ne faut calculer la TVA que sur le total de la facture.
    A tester :

Discussions similaires

  1. [AC-2010] Erreur "incompatibilité de type"
    Par oreoolep dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/12/2011, 21h29
  2. Erreur incompatibilité de type au lancement formulaire
    Par koluche dans le forum VBA Access
    Réponses: 0
    Dernier message: 05/05/2011, 14h59
  3. Erreur "incompatibilité de type" lors import dans table Access
    Par spud96 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/01/2011, 21h40
  4. erreur incompatibilité de type
    Par prince19 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/06/2007, 11h43
  5. [VBA E]erreur incompatibilité de type que je ne comprend pas
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/07/2006, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo