Construire un Graphique composé au nombre de series variable

RaihanaTag Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
RaihanaTag Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -
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 :)
A voir également:

6 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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   Statut Membre Dernière intervention  
 
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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   Statut Membre Dernière intervention  
 
Merci pour ton aide :)
0
RaihanaTag Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

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

Cordialement
0
RaihanaTag
 
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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   Statut Membre Dernière intervention  
 
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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   Statut Membre Dernière intervention  
 
D'accord je vais essayer de le faire
Merci pour ton aide.
0