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 :

incompatibilité des types ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de zangaloni
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 474
    Par défaut incompatibilité des types ?
    Bonjour,
    Je n'arrive pas à détecter l'erreur dans le code vba suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CommandButton1_Click()
    temp=0
    Dim n As Integer
    Dim i As Integer
    n = TextBox2.Value
    For i = 1 To n
    temp = temp+[TextBox1.Value / ((1 + TextBox4.value) ^ i) '<-- ERREUR
    Next i
    TextBox5 = temp + (TextBox3.Value / ((1 + TextBox4.Value) ^ n))
    End Sub
    Sachant qu'on me dit que l'erreur se situe au niveau de la ligne indiquée ci-dessus.
    Merci de m'aider si vous avez une idée.
    Sachant qu'on le message sorti dit que c'est l'erreur d'exécution "13" incompatibilité des types.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim temp as double
     
    n=val(TextBox2.Value)
    temp = val(TextBox1.Value) / ((1 + val(TextBox4.value)) ^ n)
    je ne vois pas l'utilité de la boucle, en fin de compte temp prend la dernière valeur de i (qui est n)

    PS: vba n'est pas un traitement de texte, attention aux crochets qui ont une autre signification

  3. #3
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    a première vu plusieurs possibilités :

    1) les textboxs contiennent contiennent un caractère alpha (vérifier le symbole décimale. VB a besoin d'un point et non une virgule qui est par défaut sur les excel français)

    2) TextBox2.Value dépasse la capacité d'un integer soit 32768

  4. #4
    Membre très actif Avatar de zangaloni
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 474
    Par défaut
    Bonjour,
    @ Mercatog :je me suis trompé, j'ai corrigé.
    @jfontaine :Je vérifie ce que tu dis et je te répond.
    En effet, j'ai fais les modification suivantes et ça marche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim n As Double
    Dim i As Integer
    temp = 0
    n = TextBox2.Value
    For i = 1 To n
    temp = temp + (TextBox1.Value / ((1 + TextBox4.Value) ^ i))
    Next i
    TextBox5 = temp + (TextBox3.Value / ((1 + TextBox4.Value) ^ n))
    End Sub
    Merci pour votre aide.
    Ah j'ai utiliser la virgule (j'utilise excel 2007), le point ne marche pas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2000] 3464 Incompatibilité des types
    Par Flo90 dans le forum VBA Access
    Réponses: 7
    Dernier message: 21/04/2009, 11h52
  2. Réponses: 10
    Dernier message: 26/11/2008, 18h13
  3. [XSD] Incompatibilité des types xs:ID et xs:IDREF ?
    Par Cpt.FLAM dans le forum Valider
    Réponses: 6
    Dernier message: 08/04/2005, 14h54
  4. Réponses: 2
    Dernier message: 22/09/2003, 11h23
  5. [ADO] Constantes des types de champ
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/09/2002, 11h08

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