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 :

tableau croisé dans feuille précise


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Ingénieur environnement
    Inscrit en
    Septembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur environnement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 90
    Par défaut tableau croisé dans feuille précise
    Bonjour,

    J'ai écris ce code pour créer un tableau croisé dynamique dans une feuille bien précise à un endroit bien précis..... Mais voila ! IL MARCHE PAS !!

    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
    Dim DerCol As Integer, DerLig As Long, CelAdr As String
     
    ' Récupérer la dernière colonne remplie et la dernière ligne
    DerCol = Sheets("mafeuille").Cells(1, Columns.Count).End(xlToLeft).Column
    DerLig = Sheets("mafeuille").Range("A" & Rows.Count).End(xlUp).Row
    CelAdr = Cells(DerLig, DerCol).Address
     
    Sheets("mafeuille").Select
    Range("A1").Select
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatab ase, SourceData:= _
    "mafeuille!A1:" & CelAdr).CreatePivotTable TableDestination:=Sheets("autrefeuille").Range("A5"), TableName:="Tableau croisé dynamique1"
    Sheets("autrefeuille").PivotTables("Tableau croisé dynamique1").SmallGrid = False
    Sheets("autrefeuille").PivotTables("Tableau croisé dynamique1").AddFields RowFields:= _
    "VEN_TRIMESTRE", ColumnFields:=Array("Classe", "LIEU_COD")
    Sheets("autrefeuille").PivotTables("Tableau croisé dynamique1").PivotFields( _
    "VEN_QTE_DEBARQUEE").Orientation = xlDataField
    Application.CommandBars("PivotTable").Visible = False
    la macro s'arrête à l'étape :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatab ase, SourceData:= _
    "mafeuille!A1:" & CelAdr).CreatePivotTable TableDestination:=Sheets("autrefeuille").Range("A5"), TableName:="Tableau croisé dynamique1"
    avec ce message d'erreur : Erreur d'execution '1004' Erreur définie par l'application ou par l'objet

    Quelqu'un pourrait se pencher (sans tomber) sur l'écriture de ce code ?

    D'avance merci !!

    Mumu64

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Si tu as un espace entre xlDatab et ase, comme dans le code ci-dessus, ça peut venir de là (?!?)

  3. #3
    Membre confirmé
    Femme Profil pro
    Ingénieur environnement
    Inscrit en
    Septembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur environnement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 90
    Par défaut
    Salut ouskel'n'or,

    Je viens de vérifier et il n'y a pas cet espace dans ma macro..... Il a du s'ajouter au moment du copier-coller.......

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Teste ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        Worksheets("MaFeuille").Range("A1:" & CelAdr).Address(, , xlR1C1, True)).CreatePivotTable _
        Sheets("autrefeuille").Range("A5"), TableName:="Tableau croisé dynamique1"
    Sans filet, donc sans garantie.
    (autrefeuille est bien le nom de la feuille, pas une variable, de même que "MaFeuille" ? )

  5. #5
    Membre confirmé
    Femme Profil pro
    Ingénieur environnement
    Inscrit en
    Septembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur environnement

    Informations forums :
    Inscription : Septembre 2007
    Messages : 90
    Par défaut
    Merci ouskel'n'or pour cette solution sans filet qui marche bien !!!

    J'avais également trouvé de mon côté.... Il faut noter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableDestination:="'autrefeuille'!R5C1"
    Encore merci !!

    Mumu

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

Discussions similaires

  1. [WD17] Atteindre les rubans d'un tableau croisé dans un etat windev
    Par abdou2b dans le forum WinDev
    Réponses: 0
    Dernier message: 18/02/2015, 15h45
  2. Tableau croisé dans tableau: trié sur le total
    Par David55 dans le forum BIRT
    Réponses: 2
    Dernier message: 07/06/2011, 14h14
  3. Réponses: 0
    Dernier message: 24/04/2009, 11h25
  4. Réponses: 4
    Dernier message: 30/01/2009, 15h20
  5. Réponses: 1
    Dernier message: 19/02/2007, 19h18

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