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 :

Parametrre des graphes dans Excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Parametrre des graphes dans Excel
    Bonjour,

    Je ne suis pas un expert Macro mais j'essaye de me débrouiller.
    Mais là, je suis bloqué de chez bloqué.

    J'ai un classeur KPI qui contient mes données et un autre classeur TOPSPARES qui contient mes graphes.
    Je créer des onglets qui correspondent a des fournisseurs et je dois mettre à jour les graphes de ces onglets par rapport au données de mon classeur
    Cela permet à mes utilisateurs de sortir des états rapidement et simplement.
    Mais la gestion des modification des donnes des séries est complique et long.
    Je souhaitais donc l'automatiser.

    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
     
    Sub changeGraphe()
    '
    ' ClasseurTopSpare
    ClasseurTopSpare = "TOP Spares KPI's.xlsm"
    Onglet = Workbooks(ClasseurTopSpare).Worksheets("Parametres").Cells(27, "E").Value
     
    'Classeur KPI
    Fadre = "='\\sfs.corp\organization\KPI's\[KPI's.xlsm]" & Onglet
     
    Workbooks(ClasseurTopSpare).Worksheets(Onglet).Activate
     
    'Graphique 21
    grapheobjet = "Graphique 21"
     
     
    ActiveSheet.ChartObjects(grapheobjet).Activate
     
    zlib = Fadre & "'!" & "$L$14"
    ActiveChart.SeriesCollection(1).Name = zlib
     
    zlib = Fadre & "'!" & "$L$17:$L$19"
    ActiveChart.SeriesCollection(1).Values = zlib
     
    zlib = Fadre & "'!" & "$M$14"
    ActiveChart.SeriesCollection(2).Name = zlib
     
    zlib = Fadre & "'!" & "$M$17:$M$19"
    ActiveChart.SeriesCollection(2).Values = zlib
     
    zlib = Fadre & "'!" & "$K$17:$K$19"
    ActiveChart.SeriesCollection(1).XValues = zlib
    Worksheets("Parametres").Activate
     
    End Sub

    Mais je n'arrive pas à mettre à jour les données (nom et valeur) de mes séries.
    Là j'ai même une erreur d'exécution '1004' :
    Erreur définie par l'application ou par l'objet
    Quand il va exécuter le premier ActiveChart

    Merci de votre aide.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.ChartObjects(grapheobjet).Chart.Activate
    au lieu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.ChartObjects(grapheobjet).Activate
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Si je fait cette modif, et que j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.ChartObjects(grapheobjet).Chart.Activate
    J'ai u message erreur : La méthode activate de la classe Chart a échouée.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Tu as raison. Est-ce que tu pourrais mettre ton classeur, sans données confidentielles en pièce jointe ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  5. #5
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Je n'arrive pas a joindre les fichiers.

    Peux-tu me donner un mail pour que je te les envoies.

    Merci.

    Jean-Philippe

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Clique sur mon pseudo et sur "envoyer un email" :

    Nom : Capture.JPG
Affichages : 140
Taille : 16,2 Ko
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  7. #7
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Je suppose qu'il faut commencer par le bouton "Renommer" ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  8. #8
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Oui en cliquant sur ce bouton, il doit lancer la macro changer lien.

    C'est elle qui devrait changer l'adresse des graphes avec le nom mis dans la zone de saisie "onglet" au-dessus du bouton.

  9. #9
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Je suis scotché dès la seconde ligne du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Destination = "=Excel.SheetMacroEnabled.12|'\\sfs.corp\organization\CUSTOMERSERVICE\SLR\SLRR\15. SLRRP\60. DataBase\20. KPIs\10. Top Spare\Compilation files\KPI''s\KPI''s.xlsm'!'!Supplier Name![KPI''s.xlsm]"
    Qu'est-ce que je peux faire ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  10. #10
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    En fait j'ai essaye plein de truc et cette zone devait me servir a parametrer l'onglet.
    A ce niveau de test, je fait plus qu'avec l'onglet xxxx.

    En fait : plus bas j'ai mis en dur le changement de la zone pour voir ce qui ne fonctionnait pas : (a noter qu'il y a une petite erreur sur la version que je t'ai envoyer donc c'est cette instruction que j'essaye)
    Sheets(onglet).Shapes("Graphique 21").DrawingObject.Formula = "=Excel.SheetMacroEnabled.12|'\\sfs.corp\organization\CUSTOMERSERVICE\SLR\SLRR\15. SLRRP\60. DataBase\20. KPIs\10. Top Spare\Compilation files\KPI''s\KPI''s.xlsm'!'!xxxx![KPI''s.xlsm]xxxx Graphique 21'"

    Mais même en dur, çà ne fonctionne 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
     
    Sub changelien()
    '
    ' changeliengraph Macro
    '
     
    onglet = Worksheets("Parametres").Cells(27, "E").Value
     
    Worksheets(onglet).Activate
     
    'Graphique 21
    grapheobjet = "Graphique 21"
     
    ActiveSheet.Shapes.Range(Array("Graphique 21")).Select
     
    Sheets(onglet).Shapes("Graphique 21").DrawingObject.Formula = "=Excel.SheetMacroEnabled.12|'\\sfs.corp\organization\CUSTOMERSERVICE\SLR\SLRR\15. SLRRP\60. DataBase\20. KPIs\10. Top Spare\Compilation files\KPI''s\KPI''s.xlsm'!'!xxxx![KPI''s.xlsm]xxxx Graphique 21'"
    Donc voila le code a tester.

  11. #11
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Oui, mais je suis incapable d'évaluer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=Excel.SheetMacroEnabled.12|'\\sfs.corp\organization\CUSTOMERSERVICE\SLR\SLRR\15. SLRRP\60. DataBase\20. KPIs\10. Top Spare\Compilation files\KPI''s\KPI''s.xlsm'!'!xxxx![KPI''s.xlsm]xxxx Graphique 21'"
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  12. #12
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Juillet 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Juillet 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci en tout cas de ton aide.

    Quand je clique sur l'image du graphe dans TOT2.xlm, onglet xxxx., j'obtiens une chaine de caractère/formule. Ce que je voudrais arriver a faire, par quelque manière que se soit, c'est modifier cette valeur :

    Nom : Capture1.PNG
Affichages : 176
Taille : 19,3 Ko


    J'ai donc essayer avec le VBA :

    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
     
    Sub changelien()
    '
    ' changeliengraph Macro
    '
     
    onglet = Worksheets("Parametres").Cells(27, "E").Value
     
    Worksheets(onglet).Activate
     
    'Graphique 21
    grapheobjet = "Graphique 21"
     
    ActiveSheet.Shapes.Range(Array("Graphique 21")).Select
     
    Sheets(onglet).Shapes("Graphique 21").DrawingObject.Formula = "=Excel.SheetMacroEnabled.12|'\\sfs.corp\organization\CUSTOMERSERVICE\SLR\SLRR\15. SLRRP\60. DataBase\20. KPIs\10. Top Spare\Compilation files\KPI''s\KPI''s.xlsm'!'!xxxx![KPI''s.xlsm]xxxx Graphique 21'"
    Mais j'ai toujours un message d'erreur à l'execution de Sheets(onglet).Shapes("Graphique 21").DrawingObject.Formula

    Peut-être que ce n'est pas la bonne instruction que j'utilise.

    Pour l'instant je suis vraiment bloqué, car j'ai beau chercher, je ne trouve pas de solution.

    Pourtant, il doit bien y avoir un moyen par VBA, quand on le fait manuellement ca marche. Si je clique sur mon graphe et que je vais a la main modifier la formule, il en tiens compte et me mets à jour mon graphe.

    Encore merci et tant pis si tu n'a pas de solution.

  13. #13
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    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 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Je ne comprends rien à ta ligne de code; Sauf erreur, DrawingObject n'a pas de propriété "formula".
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

Discussions similaires

  1. Fonctions VBA renvoyant des tableaux dans Excel
    Par phil_75 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/08/2006, 00h19
  2. Opération sur des heures dans Excel
    Par mirascheat dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/12/2005, 10h34
  3. Composant permettant de faire des graphes sous Excel
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 25/10/2005, 22h13
  4. Récupérer des données dans excel
    Par alexia2 dans le forum MFC
    Réponses: 1
    Dernier message: 19/05/2005, 15h34
  5. [VBA-E] Ajouter des fonctions dans Excel
    Par Clezio dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/03/2004, 01h18

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