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 :

Macro avec Table Croisée Dynamique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 35
    Par défaut Macro avec Table Croisée Dynamique
    Bonjour à tous,
    Je voudrais créer un macro avec TCD mais il plante des que je l’exécute

    Voici le code que donne Excel VBA (il plante dans ce qu'est en rouge)
    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
    Sub Macro2()
    '
    ' Macro2 Macro
    ' SSSSSSSSSSS MAJ
    '
    ' Touche de raccourci du clavier: Ctrl+Maj+S
    '
        Columns("A:H").Select
        Selection.Delete Shift:=xlToLeft
        Range("B:B,D:D").Select
        Range("D1").Activate
        Selection.Delete Shift:=xlToLeft
        Range("A1").Select
        ActiveCell.FormulaR1C1 = "PRG"
        Range("B1").Select
        ActiveCell.FormulaR1C1 = "INSER"
        Range("C1").Select
        ActiveCell.FormulaR1C1 = "LANG"
        Columns("A:C").Select
        Sheets.Add
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "Feuil1!L1C1:L1048576C3", Version:=xlPivotTableVersion12).CreatePivotTable _
            TableDestination:="Feuil4!L3C1", TableName:="Tableau croisé dynamique2", _
            DefaultVersion:=xlPivotTableVersion12
        Sheets("Feuil4").Select
        Cells(3, 1).Select
        With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("PRG")
            .Orientation = xlRowField
            .Position = 1
        End With
        ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
            PivotTables("Tableau croisé dynamique2").PivotFields("INSER"), _
            "Nombre de INSER", xlCount
        ActiveSheet.PivotTables("Tableau croisé dynamique2").AddDataField ActiveSheet. _
            PivotTables("Tableau croisé dynamique2").PivotFields("LANG"), "Nombre de LANG" _
            , xlCount
        Range("C16").Select
        ActiveWindow.SmallScroll Down:=3
        Range("E20").Select
    End Sub
    Quelqu'un peut m'aider ?
    Merci par avance

  2. #2
    Invité
    Invité(e)

  3. #3
    Membre averti
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 35
    Par défaut
    Bonjour,
    Merci d'avoir me répondre.
    j'ai consulté le lien que vous m'avez communiqué mais j'ai rien saisi,
    En fait, je voudrais créer une macro me permettant de créer un tableau croisé dynamique à partir d'un fichier hebdomadaire sur excel.

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Ton code plante pour - au moins - une raison. Quand tu te sers de l'enregistreur de macros, celui-ci enregistre les adresses des cellules à la mode Excel. (L pour les lignes). Il faut modifier la ligne en remplaçant les "L" par des "R" (comme "Row"). Il est également possible qu'une fois corrigé, la macro plante de nouveau parce que, si tu n'as pas supprimé le TCD "Tableau croisé dynamique2", VBA fera une erreur parce qu'il y a déjà un TCD avec le même nom.

  5. #5
    Membre averti
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 35
    Par défaut
    Merci beaucoup Daniel, ça marche très bien maintenant .
    Merci infiniment

    Bien à vous
    Said
    --

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

Discussions similaires

  1. [CR 10] Table croisée dynamique avec 2 tables
    Par cobar520 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 07/06/2012, 06h39
  2. travailler dynamiquement avec tables Paradox
    Par od.dev dans le forum Bases de données
    Réponses: 5
    Dernier message: 14/05/2007, 13h59
  3. [8.5] Impossible de creer une table croisée avec une variable shared
    Par rihiveli dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 20/04/2007, 10h32
  4. [VBA-E] Tableau Croise Dynamique données dans table access
    Par winner103 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/11/2006, 11h49
  5. [CR .NET] Table croisée: compléter avec lignes vides
    Par kartben dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 29/06/2004, 10h38

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