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 :

TCD sous VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut TCD sous VBA
    Bonjour,
    J'essaye de résoudre mon problème depuis des heures..
    Je ne comprend pas pourquoi ca marche pas..
    Un peu d'aide Svp !!! :-)

    JE veux créer un TCD dans "Rapport_MTM"
    Ma source est dans "suivi des opérations DRF lyon"

    Voici le code...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Workbooks("Rapport_MTM.xls").PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
            "'[Suivi des opérations Pole DRF LYON.xls]Swap et Fi'!R1C1:R2000C61"). _
            CreatePivotTable TableDestination:="[Rapport_MTM.xls]MTM_Par_Suc!R13C1", _
            TableName:="MTM_Par_Suc_TCD", DefaultVersion:= _
            xlPivotTableVersion10
    L'erreur est
    Erreur d'éxécution '5'
    Argument ou apel de procedure incorrect.
    Je débute en VBA..
    Merci d'avance

  2. #2
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    un pti cou de F1

    Citation Envoyé par EXCEL HELP
    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
    21
    With ActiveWorkbook.PivotCaches.Add(SourceType:=xlExternal)
        .Connection = _
            "OLEDB;Provider=MSOLAP;Location=srvdata;Initial Catalog=National"
       .CommandType = xlCmdCube
       .CommandText = Array("Sales") 
       .MaintainConnection = True
        .CreatePivotTable TableDestination:=Range("A3"), _
            TableName:= "PivotTable1"
    End With
    With ActiveSheet.PivotTables("PivotTable1")
        .SmallGrid = False
        .PivotCache.RefreshPeriod = 0
        With .CubeFields("[state]")
            .Orientation = xlColumnField
            .Position = 1
        End With
        With .CubeFields("[Measures].[Count Of au_id]")
            .Orientation = xlDataField
            .Position = 1
        End With
    End With
    et un pti coup d'enregistreur de macro

    Citation Envoyé par ENREGISTREUR DE MACRO
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "Sheet3!R33C3:R36C5", Version:=xlPivotTableVersion10).CreatePivotTable _
            TableDestination:="Sheet3!R45C12", TableName:="PivotTable7", _
            DefaultVersion:=xlPivotTableVersion10
        Sheets("Sheet3").Select
        Cells(45, 12).Select
        With ActiveSheet.PivotTables("PivotTable7").PivotFields("foot ")
            .Orientation = xlRowField
            .Position = 1
        End With
        ActiveSheet.PivotTables("PivotTable7").AddDataField ActiveSheet.PivotTables( _
            "PivotTable7").PivotFields("5,00"), "Sum of 5,00", xlSum

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut
    Salut
    J'ai fait du F1 toute la matinée mais quand tu n'as pas le vocabulaire c'est un peu "compliqué".
    Bref, Qd je fais un enregistreur de macro cc'est le code qui m'est donné, mais quand je lance ensuite la macro ds VBA, j'ai le message d'erreur indiqué ci dessus..
    Bref c le serpent qui se mange la queue..
    G encore besoin d'aide?
    En gros que manque t'il dans mon code...

  4. #4
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour

    Je te joint un bout de code pour créer un TDC propre a chaque mise a jour

    Les données sont dans une feuille nommée Données
    Le tableau est dans une feuille nommées Tableau

    Original non!


    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
                                Dim TableauCroiséCache              As PivotCache
                                Dim TableauCroisé                   As PivotTable
                                Dim DerniereLigne                   As Integer
                                Dim DerniereColonne                 As Byte
                                Dim CompA                           As Integer
     
    Application.ScreenUpdating = False
     
    'On Error Resume Next
        Application.DisplayAlerts = False
        Sheets("Tableau").Delete
        Worksheets.Add
        ActiveSheet.Name = "Tableau"
        Application.DisplayAlerts = True
     
        Sheets("Donnees").Select
        Set TableauCroiséCache = ActiveWorkbook.PivotCaches.Add _
                                (SourceType:=xlDatabase, _
                                SourceData:=Range("A1").CurrentRegion.Address)
     
        Set TableauCroisé = TableauCroiséCache.CreatePivotTable _
                            (TableDestination:="'Tableau'!R5C2", _
                            TableName:="LeTableau")
     
        With TableauCroisé
            .PivotFields("CODEEMP").Orientation = xlRowField
            .PivotFields("CODEEMP").Caption = "N° Salarié"
            .PivotFields("N° Salarié").Subtotals(1) = False
            .PivotFields("N° Salarié").AutoSort xlAscending, "N° Salarié"
     
            .PivotFields("NOM-prenom").Orientation = xlRowField
     
            .PivotFields("HEURE").Orientation = xlRowField
            .PivotFields("HEURE").Subtotals(1) = False
            .PivotFields("HEURE").PivotItems("").Visible = False
     
            .PivotFields("DESIGNATION 200").Orientation = xlRowField
     
            .PivotFields("SEMAINE").Orientation = xlColumnField
            .PivotFields("SEMAINE").AutoSort xlAscending, "SEMAINE"
     
            .PivotFields("NBHRS").Orientation = xlDataField
            .PivotFields("Somme de NBHRS").Caption = "Total Heures"
            .PivotFields("Total Heures").NumberFormat = "0.00"" h"""
            .PivotFields("Total Heures").Caption = ""
        End With
    inspire en toi

    Ca marche impeccable à chaque paie (et pour ça je ne rigole pas)

Discussions similaires

  1. TCD sous VBA
    Par Rob's dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/06/2013, 20h24
  2. [XL-2007] TCD sous VBA
    Par TRESOALEX dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/10/2012, 12h58
  3. Réponses: 8
    Dernier message: 07/10/2004, 11h08
  4. (VBA-A] Requete access sous VBA
    Par vanima dans le forum VBA Access
    Réponses: 12
    Dernier message: 20/07/2004, 16h07
  5. Syntaxe PARAMETERS pour requête sous VBA
    Par GAGNON dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/11/2003, 11h39

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