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 :

bug création graphique croisée dynamique


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 55
    Points : 37
    Points
    37
    Par défaut bug création graphique croisée dynamique
    Bonjour à tous,

    J'ai un problème, pas très compliqué, j'espère que vous pourrez m'éclairer.


    J'ai un fichier excel 2013 avec des macros, dans lequel j'ai une petite base de données.

    De cette BDD, je souhaite faire un graphique croisée dynamique avec certains critères.

    Je n'ai aucun problème sur ma macro, elle fonctionne.

    Mon graphique se créé.

    Cependant, j'observe un paramètre en fonction de deux filtres (date, et une référence pièce)

    lorsque mon graph se créé, impossible de changer ces 2 filtres.

    lorsque je clique sur un autre onglet, une autres cases, puis revient sur mon graphique, miracle j'arrive à y changer ...

    Vous avez une idée d'où cela peut venir ?


    Je vous remercie d'avance.

    Cordialement,

    Charles

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 517
    Points : 16 447
    Points
    16 447
    Par défaut
    Bonjour

    Sans voir le code difficile de repérer ce qui se passe...

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 55
    Points : 37
    Points
    37
    Par défaut
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    '--------- début -----------------------------
    CreationTableau 1, 1, choixstat.ComboBox1.Value, 220, 5, "tableau", "Graphique 1"
     
    Worksheets(1).Select
    Range("A1").Select
     
    Worksheets("resultat").Select
     
        ActiveWindow.Zoom = 160
        ActiveWindow.SmallScroll ToRight:=3
        ActiveWindow.SmallScroll Down:=6
    Application.ScreenUpdating = True
    Unload choixstat
    Unload choix
     
    End Sub
     
     
    Sub CreationTableau(posLeft As Single, posTop As Single, donnee As String, _
    LeftGraph As Single, TopGraph As Single, nom As String, graphique As String)
     
    Dim PTCache As PivotCache
    Dim PT As PivotTable
     
    Sheets("BDD").Select
    '----------------------------------------------------------------------------
     
       Set PTCache = ActiveWorkbook.PivotCaches.Add _
                 (SourceType:=xlDatabase, _
                  SourceData:=Range("A1").CurrentRegion.Address)
     
    Set PT = PTCache.CreatePivotTable _
            (TableDestination:="resultat!R" & posTop & "C" & posLeft, _
            TableName:="graph")
     
    With PT
        .PivotFields("date").Orientation = xlRowField
        .PivotFields("Nom d'ordre").Orientation = xlPageField
        .PivotFields(donnee).Orientation = xlDataField
    End With
     
    On Error Resume Next
     
            With Worksheets("resultat").PivotTables("graph").PivotFields("Nombre de " & donnee)
     
                .Function = xlAverage
            End With
     
    On Error Resume Next
            With Worksheets("resultat").PivotTables("graph").PivotFields("Somme de " & donnee)
     
                .Function = xlAverage
            End With
     
    Worksheets("resultat").Shapes.AddChart2(LeftGraph, xlColumnClustered).Select
    ActiveChart.SetSourceData source:=Worksheets("resultat").Range(Range("A1").Offset(0, posLeft - 1), Range("A1").Offset(0, posLeft).End(xlDown).End(xlDown))
     
     
    '----------------------------------------------------------------------------
     
    End Sub
    J'ai continué de chercher, c'est vraiment étrange, le code fonctionne et j'obtiens le graphique voulu ...

    Mais impossible de changer les filtres

    --> un clique sur une autre feuille, puis j'arrive à les modifier ...

    C'est embêtant ..

Discussions similaires

  1. [XL-2010] [Graphiques croisées dynamique XL 2010] Faire des opérations
    Par Maasto dans le forum Excel
    Réponses: 5
    Dernier message: 26/01/2014, 19h27
  2. [AC-2003] Graphique croisée dynamique sous vba access
    Par CaptNRomano dans le forum IHM
    Réponses: 2
    Dernier message: 21/05/2010, 16h37
  3. Pb création Graphique Croisé dynamique
    Par mictlse dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 03/05/2008, 18h05
  4. Réponses: 0
    Dernier message: 21/03/2008, 13h51
  5. Graphique croise dynamique
    Par ANTMA dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 03/01/2008, 16h31

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