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 récurrente inconnue


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 153
    Points : 47
    Points
    47
    Par défaut Erreur récurrente inconnue
    Bonjour à tous

    Voilà, j'ai une erreur récurrente que je n'arrive pas à comprendre.
    Voici le code où cela beugue:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
            Selection).CreatePivotTable TableDestination:= _
            "R2C6", TableName:="Tableau croisé dynamique1", _
            DefaultVersion:=xlPivotTableVersion10
    A chaque fois que j'active ma macro, cela beugue sur ce code et affiche le message d'erreur suivant:
    Erreur d'éxécution '5':
    Argument ou appel de procédure incorrect.

    Le plus intriguant c'est que lorsque j'appuie sur le bouton continuer, la macro continue comme si il n'y avait pas eu de beug!

    Autre point très intriguant, c'est lorsque que je teste cette macro sur un fichier Excel où il n'y a uniquement cette macro, cela marche très bien et il n'y a pas de beug!

    Avez vous une idée?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    dis comme ça, c'est pas vraiment très clair, mais je pense que tu essaie de créer un tcd. la premiere fois que tu le cré, il s'appele tableaucroisédynamyque1 mais a la seconde fois, le tcd1 existe déja donc il genere une erreur.

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 153
    Points : 47
    Points
    47
    Par défaut
    Et comment fait-on pour changer ça?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    ça dépent de ce que tu cherche a faire. si le but est de créer un tcd, en théorie, tu n'as a le faire q'une fois. si le but est d'en créer plusieurs, tu incrémente une variable.
    mais en général, si tu ne vaux pas etre embeter, tu nomme toi même le tcd que tu crée, comme ça, tu travailles avec le bon objet. je te met un exemple d'un tcd que j'avais fais, je me rappalle plus exactement sa fonction, mais la syntaxe, c'est la syntaxe, hein.
    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
     
    'création du TCD
    Set alfa = cible.Sheets(2)
    Set oméga = cible.Sheets(1)
    tablosource = alfa.[A1].CurrentRegion.Address(, , xlR1C1, True)
    oméga.Cells.Clear
    ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _
    SourceData:=tablosource).CreatePivotTable _
        TableDestination:="synthèse!R3C1", _
        TableName:="prénom"
        ActiveWorkbook.ShowPivotTableFieldList = True
    With oméga.PivotTables("prénom").PivotFields("Prénoms")
            .Orientation = xlRowField
            .Position = 1
        End With
        oméga.PivotTables("prénom").AddDataField oméga. _
            PivotTables("prénom").PivotFields("Nombre"), _
            "par prénoms", xlSum
        Application.CommandBars("PivotTable").Visible = False
        ActiveWorkbook.ShowPivotTableFieldList = False

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 153
    Points : 47
    Points
    47
    Par défaut
    Merci beaucoup ça marche!

  6. #6
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 153
    Points : 47
    Points
    47
    Par défaut
    Euh désolé de revenir à la charge, mais j'ai de nouveau activer ma macro et ça ne marche pas à nouveau!

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    là, je crois qu'il va falloir dire ce que tu fais exactement.
    si il s'agit d'une création, même si tu nomme le tableau, tu ne peux l'executer qu'une fois. le fait de le nommer va etre utile par exemple pour le dimensionner ou l'effacer. a la limite si tu dois le recréer, commence par l'effacer. chose facile quand tu connais son nom

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/11/2009, 16h41
  2. erreur sql inconnu (pour moi)
    Par kimcharlene dans le forum Requêtes
    Réponses: 5
    Dernier message: 04/12/2006, 21h22
  3. erreur fatale inconnue
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 10
    Dernier message: 28/09/2006, 15h57
  4. Erreur récurrente (namespace)
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 3
    Dernier message: 25/02/2003, 11h27

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