Construire un Graphique composé au nombre de series variable

Fermé
RaihanaTag Messages postés 17 Date d'inscription mercredi 19 août 2015 Statut Membre Dernière intervention 28 mai 2016 - 26 août 2015 à 16:54
RaihanaTag Messages postés 17 Date d'inscription mercredi 19 août 2015 Statut Membre Dernière intervention 28 mai 2016 - 28 août 2015 à 00:37
Bonjour
Je souhaite construire un graphique à partir du tableau suivant :

Le nombre de ligne ( les modalité du "projectno" ) varie
Le graphique doit illustrer la variation de chaque modalité en fonction des mois et si une modalité s ajoute de plus, une nouvelle série doit apparaître automatiquement sur le graphe
Est il possible de le réaliser par excel ou je dois avoir recours au VBA ?
Merci pour votre aide :)

6 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
26 août 2015 à 17:01
Bonjour,

Avant d'ouvrir un nouveau post, il serait préférable de répondre au précédent.

Cela n'encourage pas de t'aider une nouvelle fois.

https://forums.commentcamarche.net/forum/affich-32432528-comment-masquer-les-boites-de-dialogues-d-excel#p32432778
0
RaihanaTag Messages postés 17 Date d'inscription mercredi 19 août 2015 Statut Membre Dernière intervention 28 mai 2016
27 août 2015 à 16:33
Bonjour,
Je me souviens très bien de vous avoir répondu sauf que mon commentaire n'a pas été envoyé , j' en suis , de même, étonnée
cordialement
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
26 août 2015 à 17:39
Bonjour

Pour ajouter une série, je pense que vba est nécessaire
Un exemple
http://www.cjoint.com/c/EHApHy001Zn

Cordialement
0
RaihanaTag Messages postés 17 Date d'inscription mercredi 19 août 2015 Statut Membre Dernière intervention 28 mai 2016
27 août 2015 à 12:09
Merci pour ton aide :)
0
RaihanaTag Messages postés 17 Date d'inscription mercredi 19 août 2015 Statut Membre Dernière intervention 28 mai 2016
27 août 2015 à 13:04
Bonjour,
L ' exemple que tu m'as donné est très intéressant, j ai essayé de l'adapter à ce que je veux puisque, dans mon cas , il n y a que le nombre de lignes qui peut changer et que la graphe doit apparaître dans une autre feuille mais ça ne marche pas
Voici mon code
' Graphe de Projectno
Option Explicit
Dim lifin As Integer
Dim gr As Object, plage As Range
 Sub graphe_projectno()
 With Worksheets(4)
  Set gr = .ChartObjects(1).Chart
  lifin = 68
  Do While Not IsEmpty(Worksheets(3).Cells(lifin, 6))
    lifin = lifin + 1
  Loop
  Set plage = Worksheets(3).Range(Cells(68, 6), Cells(lifin, 18))
  gr.SetSourceData Source:=plage, PlotBy:=xlRows
End With
End Sub

Merci d'avance .
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
27 août 2015 à 13:38
Bonjour

Dans cet exemple les feuilles données et graphique sont différentes
http://www.cjoint.com/c/EHBlMhUflfn

Cordialement
0
Je fais quelques modifications pour arriver à ce code :
Public Sub MajGraph()
Dim gr As Object, plage As Range, lifin As Long
  lifin = lideb
  Do
    lifin = lifin + 1
  Loop Until Worksheets(3).Cells(lifin, 6) = ""
  lifin = lifin - 1

  Set plage = Worksheets(3).Range(Cells(lideb, 6), Cells(lifin, 18))
  Set gr = Worksheets(4).ChartObjects(1).Chart
  gr.SetSourceData Source:=plage, PlotBy:=xlRows
End Sub
 

mais il m'affiche "erreur 1004 :erreur définie par l'application ou par l'objet " au niveau du la ligne 9
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
27 août 2015 à 18:23
tu n'as pas attribué de valeur à lideb, donc par défaut, lideb = 0
dans mon exemple, j'avais déclaré lideb = 1 comme constante

Cdlmnt
0

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

Posez votre question
RaihanaTag Messages postés 17 Date d'inscription mercredi 19 août 2015 Statut Membre Dernière intervention 28 mai 2016
27 août 2015 à 19:03
J ai attribué une valeur de 68 à "lideb" mais je reçois toujours la même erreur . Je suis vraiment coincée là dessus et je m'excuse pour ce dérangement .
cordialement
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
Modifié par ccm81 le 27/08/2015 à 21:06
Je ne vois pas ton nouveau code

Ce code-ci fonctionne
Il te suffit de changer les valeurs des constantes selon ta configuration (nom des feuilles, N° de lignes et de colonnes) de cette façon, tu n'as pas à toucher au corps de la procédure

' modifier les valeurs selon la configuration
' feuille données
Const FD = "Feuil1"  ' nom feuille données
Const lideb = 1      ' première ligne tableau des données
Const codeb = 1      ' première colonne tableau des données
Const cofin = 8      ' dernière colonne tableau des données
' feuille graphique
Const FG = "Feuil2"  ' nom feuille du graphique

Public Sub MajGraph()
Dim gr As Object, plage As Range, lifin As Long
  lifin = lideb
  Do
    lifin = lifin + 1
  Loop Until Sheets(FD).Cells(lifin, codeb) = ""
  lifin = lifin - 1
  Set plage = Sheets(FD).Range(Cells(lideb, codeb), Cells(lifin, cofin))
  Set gr = Sheets(FG).ChartObjects(1).Chart
  gr.SetSourceData Source:=plage, PlotBy:=xlRows
End Sub

Si ça ne va toujours pas, envoies ton fichier (au format excel 2003 si possible) sur cjoint.com et joins le lien obtenu à ton prochain message

Cordialement
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
27 août 2015 à 21:15
1. tu peux bien sur changer le nom de la procédure
2. quand ça plante, passes le curseur sur les variables, tu pourras ainsi avoir leur valeur (actuelle) et voir ce qui ne va pas

Bon courage
0
RaihanaTag Messages postés 17 Date d'inscription mercredi 19 août 2015 Statut Membre Dernière intervention 28 mai 2016
28 août 2015 à 00:37
D'accord je vais essayer de le faire
Merci pour ton aide.
0