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 d'exécution 13 incompatibilité de type [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Gestionnaire de bases de données
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Gestionnaire de bases de données
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Par défaut erreur d'exécution 13 incompatibilité de type
    Bonjour à tous,

    Les voies de l'emploi sont parfois bien sinueuses.

    Je me présente en quelques mots à travers ce tout 1er forum post:
    j'ai 40 ans, 3 enfants et je travaille depuis fort longtemps en intérim.

    C'est loin d'être idéal en ces temps de disette mais c'est bien mieux que de pointer au chômage chaque mois sans pouvoir faire autrement.

    Donc l'intérim pour moi ce n'est que l'expression de la farouche volonté de ne pas rester inactif...

    Mes compétences vont de la traduction EN > FR à la SEO.
    Là je peux vous aider.

    Après toute cette intro. me voici à modifier une macro dans Excel avec pour tout bagage VBA un cours de 4h il y a 11 ans.

    En théorie, il me suffit de modifier certaines plages de sélection pour rafraîchir cette macro.
    En réalité... ça semble bine plus complexe.

    Voici la partie qui pour le moment me pose problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'Volume 5j
    For i = 1 To nbGP
        For j = 5 To 10
            If ActiveSheet.Range("B" & 19 + i).Value = ActiveSheet.Range("G" & j).Value Then
                somme5j = somme5j + ActiveSheet.Range("C" & 19 + i).Value
            End If
        Next j
    Next i
    ActiveSheet.Range("J7").Value = somme5j / sommeGlobal
    ActiveSheet.Range("J7").Select
    Selection.NumberFormat = "0.00%"
    L'erreur doit se situer sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    somme5j = somme5j + ActiveSheet.Range("C" & 19 + i).Value
    puisqu'elle apparaît en jaune.

    Merci d'avance de votre aide.
    Joel.

  2. #2
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    En fait, il faut, pour pouvoir additionner deux "objets", que ceux ci soient du même genre. On n'ajoute pas des carottes aux girafes.
    Votre variable somme5j est déclarée As???

    Cet exemple renvoie une "erreur 13 incompatibilité de type" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim somme5j As String, Chiffre As Integer
    Chiffre = CInt(ActiveSheet.Range("C19").Value)
    somme5j = somme5j + Chiffre
    Cet exemple non :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim somme5j As Double, Chiffre As Double
    If ActiveSheet.Range("C19").Value <> 0 Then Chiffre = CDbl(ActiveSheet.Range("C19").Value)
    somme5j = somme5j + Chiffre
    Plus d'infos? ftp://ftp-developpez.com/silkyroad/V...sVariables.pdf

    regarde en particulier :
    - byte,
    - Integer,
    - Currency,
    - Single,
    - Double.

  3. #3
    Membre habitué
    Homme Profil pro
    Gestionnaire de bases de données
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Gestionnaire de bases de données
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Par défaut
    Merci pour cette piste Franck,
    je parcours le pdf et je tente de modifier le code.

    Joel.

  4. #4
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    J'ajouterai ceci car c'est une erreur assez fréquente ;si, dans ta feuille, les nombres sont saisis avec le mauvais séparateur (point au lieu de virgule ou inversement), le même type d'erreur se produit.

  5. #5
    Membre habitué
    Homme Profil pro
    Gestionnaire de bases de données
    Inscrit en
    Juillet 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Gestionnaire de bases de données
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 11
    Par défaut
    Effectivement Franck, il y avait un problème de déclaration de variables :

    Avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim mois, mois2, numMois, i, annee, numSem, nbGP As Integer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim nbParc, sommeSolli, somme5j, somme15j, sommeGlobal, moisMoinsUn, total As Long

    Après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim mois As Integer, mois2 As Integer, numMois As Integer, i As Integer, annee As Integer, numSem As Integer, nbGP As Integer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim nbParc As Long, sommeSolli As Long, somme5j As Long, somme15j As Long, sommeGlobal As Long, moisMoinsUn As Long, total As Long
    Merci encore.

    Cordialement,
    Joel.

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

Discussions similaires

  1. Erreur d'exécution "13" incompatibilité de type
    Par zenico64 dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 14/12/2010, 10h45
  2. Erreur d'exécution 13 : incompatibilité de type
    Par Ptikir dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/04/2009, 15h59
  3. erreur d'exécution 13 incompatibilité de type
    Par glamgeek dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/03/2009, 12h03
  4. "erreur d'exécution 13 : incompatibilité de type"
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 19/07/2007, 15h47
  5. erreur d'exécution 13, incompatibilité de type
    Par PHPdudimanche dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/06/2007, 15h20

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