Macro modification des plages de données graphiques

Bonjour à tous, je vous sollicite à nouveau ! Une dernière pour quelques temps normalement

Sur mon fichier, j'ai créé une macro afin de copier une plage de cellules contenant un graphique. Cette plage sera copiée X fois, soit X la valeur indiquée en cellule L14.

En revanche, les graphiques copiés comportent toujours la même plage de données. Je souhaiterai donc ajouter à cette macro un code permettant de modifier les plages de données correspondantes à chaque graphique.

Ou est-ce possible, tout simplement, d'affecter aux graphiques une plage de données en références relatives ? Mais je ne crains que ce ne soit pas possible..

J'ai également remarqué que l'on peux ajouter un code au graphique directement, serait-ce une solution ?

Ci-joint le fichier Excel d'exemple avec les explications nécessaires et de plus amples informations sur ma demande.

N'hésitez pas pour toutes questions !

Merci à vous tous

107graphiquemacro.xlsm (25.75 Ko)

Salut Flo,

Normalement le fichier ci-joint devrait répondre à ton attente.

Cordialement.

Merci beaucoup Yvouille, c'est parfait, j'ai pu intégrer ta macro à mon projet !! Tu m'as bien aidé merci

J'aurai juste une question, si j'effectue mon copier-coller en colonnes, ai-je juste à changer les lignes ici en rouge ?

For Each Forme In ActiveSheet.Shapes

If Right(Forme.Name, 10) = "Chart" And Forme.Name <> "Chart 4" And Forme.Name <> "Chart 201" Then

Colonne_référence = Left(Forme.TopLeftCell.Address(RowAbsolute:=False, ColumnAbsolute:=False), Len(Forme.TopLeftCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)) - 1)

ActiveSheet.ChartObjects(Forme.Name).Activate

ActiveChart.SeriesCollection(1).Select

Selection.Formula = "=SERIES(,,'Commande SARBETON'!R" & Colonne_référence - 2 & "L46;R" & Colonne_référence - 2 & "L47;1)"

End If

Next Forme

Merci à toi !!

Re,

Chart 4, Chart 201 ?????

Je crois qu'on ne travaille pas sur le même fichier.

Veux-tu me fournir celui sur lequel tu travailles ? Je comprendrais probablement mieux ta question !

Amicalement.

J'ai voulu adapter ta macro à un fichier similaire mais les diagrammes sont copiés en colonnes, je vais te préparer un fichier d'exemple !

Ci-joint le fichier sur lequel j'aimerai adapter la macro, les explications y sont !

Le code devrait être quasiment bon, mais je ne maîtrise pas encore tout le language vba...

Merci Yvouille !

70copiegraph.xlsm (35.16 Ko)

Re,

Flo456 a écrit :

...mais les diagrammes sont copiés en colonnes,

Alors pourquoi avoir posé la question pour des diagrammes copiés en lignes ?????

Tu peux lancer la macro sur le même fichier 2 fois et plus de suite ou tu ne lances ce code qu'une seule fois ? La même question posée autrement : t'arrives-t-il de devoir cliquer deux fois sur le bouton "Copie" - donc de rajouter tout d'abord x colonnes, puis une deuxième fois y colonnes, etc. - ou est-ce qu'à chaque fois que tu as besoin de nouvelles colonnes, tu repars sur la base du fichier de base avec seulement les colonnes A à K ?

C'est assez important afin de savoir dans quelle direction partir avec le nouveau code nécessaire.

A te relire.

Car j'ai deux différents fichiers, pour celui en lignes il fonctionne très bien c'est parfait !

Seulement pour mon fichier en colonnes j'ai voulu adapter mais je n'y arrive pas.. J'aurai essayé :/

Oui désolé je me suis peut être mal exprimé Yvouille. La macro n'est copiée qu'une seule fois oui, la même chose que le fichier précédent avec la copie en lignes. Je ne fais fonctionner le code qu'une seule fois, et je repars bien avec de nouvelles colonnes au cas où je le relance.

Excuses-moi, et merci à toi pour ton aide !

Salut,

Flo456 a écrit :

Oui désolé je me suis peut être mal exprimé Yvouille. La macro n'est copiée qu'une seule fois oui, la même chose que le fichier précédent avec la copie en lignes.

C’est juste parce qu’avec ton fichier en lignes ça n’avait pas d’importance, alors que j’avais eu un doute pour le fichier en colonne et que j’ai préféré te poser la question avant de démarrer.

Dans le fichier que tu me fournis, il y a un graphique vide sous chacun des graphiques visibles. Dans l’image ci-dessous, tu vois que j’ai déplacé le graphique 32 (marqué avec une flèche bleue) et en dessous il y a le graphique 25. Il en va de même du graphique 34 qui cache le graphique 27.

capture 25 08 bis

Ces graphiques fantômes seraient copiés et collés, ce qui fait que tu aurais à chaque fois deux graphiques par colonne. Je les ai donc supprimés dans mon fichier.

Flo456 a écrit :

si j'effectue mon copier-coller en colonnes, ai-je juste à changer les lignes ici en rouge ?

Non, c'est quand même un peu plus compliqué que ça

Regarde le code dans le fichier ci-joint.

A te relire.

141copiegraph-v2.xlsm (35.77 Ko)

Bonjour Yvouille,

Oui aucun soucis, tu as bien fais de poser la question !

Ton explication est bien la bonne Yvouille, j'ai du faire un copier-coller pour tester le premier code de la macro et oublier de les supprimer.. Toutes mes excuses :/

En tout cas ton fichier fonctionne parfaitement, c'est juste ce qu'il me fallait ! Vraiment merci beaucoup à toi, heureusement que nous avons ici des pros du VBA, merci Yvouille

Rechercher des sujets similaires à "macro modification plages donnees graphiques"