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'incompatibilité lors de la création d'un TCD


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 2
    Par défaut Erreur d'incompatibilité lors de la création d'un TCD
    Bonjour,

    Je rencontre un problème dans ma macro lors de la création du TCD.
    Pour explique le but et le raisonnement de ma macro :
    Je pars d'un fichier source dans l'onglet "MTP Primes-Ind" qui est variable en fonction du mois, et je voudrais que la macro crée un TCD à partir de ce fichier dans l'onglet "Rappro primes MTP".
    Je crée donc 3 variables : l'une pour le nom de la feuille source, la 2nde pour la dernière ligne qui bouge chaque mois, la dernière pour définir la plage à choisir.
    Le code donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim f7 As String
    f7 = "MTP Primes-Ind"
     
    Dim derlignef7 As Long
    derlignef7 = Worksheets(f7).Range("A" & Rows.Count).End(xlUp).Row
     
    Dim plagef7 As Range
    Set plagef7 = Worksheets(f7).Range(Cells(1, 1), Cells(derlignef7, 18))
     
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            plagef7, Version:=xlPivotTableVersion15). _
            CreatePivotTable TableDestination:="Rappro primes MTP!R10C1", TableName:= _
            "Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion15
    Lors de l'exécution de la macro, le logiciel me renvoie le message d'erreur "Incompatibilité de type"

    Est-ce que quelqu'un aurait une solution à proposer svp?

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    et sur quelle ligne (et pour quelle variable) rencontres-tu l'incompatibilité ?

    parce que, je devine déjà une erreur 1004 sur ta ligne 8 si la plage que tu met dans ta variable Range n'est pas sur la feuille active ... tu n'as pas préfixé la feuille source devant tes Cells()

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 2
    Par défaut
    Bonjour,

    Oui la feuille source a été activée plus haut dans le code.
    Le message d'erreur intervient sur toute la partie création du TCD.
    Je ne sais pas, peut-être que l'erreur provient d'une mauvaise utilisation des variables.

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    par ici : https://msdn.microsoft.com/fr-fr/lib.../ff839430.aspx

    et notamment

    L’argument SourceData est obligatoire si SourceType n’est pas xlExternal. Il doit être transmis comme une plage (lorsque SourceType est défini sur xlConsolidation ou xlDatabase) ou comme un objet de connexion du classeur Excel (lorsque SourceType est défini sur xlExternal). Lors de la transmission en tant que plage, il est recommandé d’utiliser une chaîne pour spécifier le classeur, la feuille de calcul et la plage de cellules, ou de définir une plage nommée et transmettre le nom sous forme de chaîne. La transmission d’un objet **Plage** peut provoquer des erreurs « incompatibilité de type » de façon inattendue.
    Essaye de passer l'adresse de ta variable Plage plutôt que l'objet directement (propriété .Address de ta variable Range)

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/07/2011, 13h57
  2. [XL-2003] Erreur Runtime 1004 lors de la création d'une validation en liste pour une cellule
    Par Louhike dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/07/2010, 15h27
  3. [JDOM] Erreur de DTD lors de la création d'un objet JDOM
    Par Kerod dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 24/05/2007, 13h14
  4. Erreur ora 30574 lors de la création d'1 rollback_segment
    Par leng dans le forum Administration
    Réponses: 15
    Dernier message: 08/12/2006, 17h02
  5. Réponses: 4
    Dernier message: 23/05/2006, 17h04

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