Afficher un graphique feuille x sur une feuille y au clic

Fermé
Mowey Messages postés 8 Date d'inscription jeudi 30 juin 2016 Statut Membre Dernière intervention 13 juillet 2016 - 13 juil. 2016 à 14:31
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 18 juil. 2016 à 11:40
Bonjour à tous.

Je travaille sur un fichier excel qui comporte plusieurs feuilles dont une feuille "Graph" qui contient plusieurs graphiques, qui prennent leur valeurs sur les lignes d'une feuille "Générale".
Je voudrais, si possible, que lorsque j'écris dans la ligne 3 de ma feuille "Générale" le graphique qui correspond s'affiche dans cette feuille "Générale". Si j'écris, ou je clique dans la ligne 4, c'est un autre graphique qui s'affiche, etc...

J'ai d'abords cherché à faire cela sans macro, mais je n'ai pas réussi. Je pense donc qu'une macro pourrait faire l'affaire, mais je ne sais pas comment procéder.

Auriez-vous une idée de comment faire ?

En espérant avoir été claire. Merci d'avance !!

6 réponses

ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
13 juil. 2016 à 15:07
Bonjour

Peux tu envoyer la partie concernée de ton fichier, sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu

1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse
tu fais "Coller".

Cdlmnt
0
Mowey Messages postés 8 Date d'inscription jeudi 30 juin 2016 Statut Membre Dernière intervention 13 juillet 2016
13 juil. 2016 à 15:32
Bonjour et merci de votre réponse.

Voici le fichier : https://www.cjoint.com/c/FGnnARWg3HZ

Je souhaite donc que lorsque je sélectionne, par exemple, la ligne 6/7 de ma feuille "fiche_releve" ou que j'écris dans une de ses cases, le graphique "repère 1" de la feuille "Graph" s'affiche sur la feuille "fiche_releve". Si je clique sur une autre ligne, 8/9 par exemple, c'est le graphique "repère 2" qui s'affiche, et ainsi de suite.

On peut définir un emplacement ou vont se succéder les graphiques sur la feuille "fiche_releve" si nécessaire.

Merci de votre aide !!
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié par ccm81 le 13/07/2016 à 16:58
Je ne sais pas si j'ai bien compris, donc, un début de réponse http://www.cjoint.com/c/FGnoGpT0SSd
Clic-clic en colonne A pour afficher le graphique depuis la feuille Graph
RQ. Dans la feuille Graph tu n'as pas tous les graphiques, donc il y a (actuellement) un problème, un clic-clic sur le repère 3 te donnera le graphique repère 4
Pour aller plus loin il faut
- soit mettre les 13 graphiques dans le feuille Graph dans l'ordre des repères
- soit on complique un peu le code pour déterminer le bon graphique (faisable en travaillant sur le titre)

Cdlmnt
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié par ccm81 le 13/07/2016 à 17:01
J'ai finalement travaillé sur le titre
http://www.cjoint.com/c/FGno5vu01qd

Le code est dans le module de la feuille 1

RQ. Mon vieil excel 2003 a peut être perturbé le fichier

Cdlmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

Un grand merci pour votre aide, je n'aurai jamais été capable d'écrire ce code moi même...!

Est-il possible de faire en sorte que les graphiques s'affichent lorsqu'on clique sur n'importe quelle case de la ligne et non pas que sur la case de la première colonne ? J'ai cherché à modifier le code mais ça ne se passe pas comme attendu...

Merci !!!
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
18 juil. 2016 à 11:40
A tester (les lignes à modifier sont soulignées)

Const plageclic = "A6:AG31"

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim nomgr As String, gr As Object, nbgr As Long, nugr As Long, li As Long
Dim t As Long, l As Long, celgr As Range, titregr As String
Application.ScreenUpdating = False
If Not Intersect(Target, Range(plageclic)) Is Nothing Then
li = Target.Row
Set celgr = Target.Offset(2, 3)
t = celgr.Top
l = celgr.Left
On Error Resume Next
ActiveSheet.ChartObjects(1).Delete
nomgr = "Repère " & Range("A" & li).Cells(1, 1).Value
nbgr = Sheets("Graph").ChartObjects.Count
For nugr = 1 To nbgr
Set gr = Sheets("Graph").ChartObjects(nugr)
titregr = gr.Chart.ChartTitle.Characters.Text
If InStr(1, titregr, nomgr) > 0 Then
gr.Copy
ActiveSheet.Paste
ActiveSheet.ChartObjects(1).Top = t
ActiveSheet.ChartObjects(1).Left = l
Exit For
End If
Next nugr
End If
ActiveSheet.Range("A1").Select
Application.ScreenUpdating = True
End Sub

Cdlmnt
0