Je veux actualiser un diagramme existant (pour passer de 19 lignes de données à 16) via la macro ci-dessous. Mon problème réside dans le fait que ce diagramme (qui a été conçu manuellement avec des en-têtes de lignes et de colonnes), lors de l'actualisation perd cette indication. Les propriétés HasColumnHearders et HasRowHeaders qui étaient à "True" passent à "False", du coup le diagramme reste vide.
J'ai essayé de modifier avec la macro ces propriétés à la valeur "True" mais ça n'a aucun effet (la valeur reste à "False").
Code : Tout sélectionner
Sub GraphiqueIndiv
'Macro pour actualiser le graphique individuel d'un élève (notamment le nombre de jours variables selon les mois
monClasseur=thisComponent
fIndiv=monClasseur.Sheets.getByName("Fiche Individuelle")
eleve=fIndiv.getCellRangeByName("C4").String
dateDeb=fIndiv.getCellRangeByName("D14").String
dateFin=fIndiv.getCellRangeByName("D15").String
nbDates=(fIndiv.getCellRangeByName("D16").value)/2 'Nombre de jours d'école
premiereLigne=20
derniereLigne=premiereLigne+nbDates
ch=fIndiv.Charts(0)
lesZones=ch.Ranges
For z=0 to 4
adrZ=lesZones(z)
'xray adrZ
adrZ.EndRow=derniereLigne
'xray adrZ
lesZones(z)=adrZ
Next z
'xray ch
ch.Ranges=lesZones 'Enregistre les nouvelles zones du graphique -> COMMANDE QUI LANCE L'ACTUALISATION (à commenter si on ne veut pas)
ch.HasColumnHeaders=True
ch.HasRowHeaders=True
'xray ch
diag1=fIndiv.Charts(0).EmbeddedObject
diag1.Title.String= "Fréquentation de " & eleve & " du " & dateDeb & " au " & dateFin
End Sub
Thierry
Edit du 18/11 : simplification de la macro vu que seule la propriété EndRow change.