Créer un graphe secteur

Bonjour à Tous

j'ai un Probleme et souhaiterai de l'aide s'il vous plait...

j'essaye de faire un graphe secteur sous VBA . j'ai enregistré une macro et le code me donne ceci:

'grah secteur

Range("D8:E8,C8,B8").Select

Range("B8").Activate

ActiveSheet.Shapes.AddChart2(251, xlPie).Select

ActiveChart.SetSourceData Source:=Range( _

"'bilan energie active'!$D$8:$E$8,'bilan energie active'!$C$8,'bilan energie active'!$B$8" _

)

ActiveChart.ClearToMatchStyle

ActiveChart.ChartStyle = 253

ActiveChart.FullSeriesCollection(1).XValues = _

"='bilan energie active'!$B$3:$D$3"

For o = 12 To 22

If fg.Range("G" & o).Value = mx Then

ActiveChart.FullSeriesCollection(1).Name = "REPARTITION DES CONSOMMATIONS LIGNE " & fg.Range("C" & o).Value

o = 22

End If

Next

Mon j'aimerai pouvoir modifier ce code pour avoir la possibilité de géré automatiquement les cellule prise en compte.

merci pr votre aide

bonne journée

Bonjour

Si tu joignais ton fichier, il serait plus facile de te proposer quelque chose....

Bye !

ci-Joint le fichier excel avec la macro du graphe secteur que j'ai enregistré.

merci

25excel-marco.xlsm (36.53 Ko)

Bonjour

Un essai à tester.

Je n'ai pas touché aux graphiques eux-même.

Cela te convient-il ?

Bye !

29excel-macro-v1.xlsm (44.24 Ko)

Excusez moi mais pour être plus précis, ma question étais de savoir comment écrire ces expressions sous VBA d'une autre maniere avec les variables.

expression1 : Range("H8:I8,G3:F3").Select

expression2: ActiveChart.SetSourceData Source:=Range( _"'bilan energie active'!$F$8:$I$8,'bilan energie active'!$F$3:$I$3")

les variables que je souhaite utilisées pour définir les cellules : colonne , ligne

merci

arngat a écrit :

ma question étais de savoir comment écrire ces expressions sous VBA

d'une autre maniere avec les variables.expression1 : Range("H8:I8,G3:F3").Select

expression1 : 
Range("H8:I8,G3:F3").Select

Supposons que tu veuilles mettre les colonnes H, I, G et F en variables ainsi que les lignes associées : 8 et 3

On pose les variables :

colH , colI ,colG, colF pour respectivement pour chacune de ces colonnes,

et :

ln8 et ln3 pour les lignes 8 et 3

Tu auras ainsi, par exemple :

    colH = 8
    colI = 9
    colG = 7
    colF = 6
    ln3 = 3
    ln8 = 8 

Et ta formule devient :

Union(Range(Cells(ln8, colH), Cells(ln8, colI)), Range(Cells(ln3, colG), Cells(ln3, colF))).Select

Même topo pour ta deuxième instruction.

OK ?

Bye !

bonjour gmb

désoler de vous repondre que maintenant...j'avais quelques soucis.

Merci pour votre aide, vous avez resolut mon problème.

j'ai un autre problème, je voudrais réecrir cette expression

 aa = fd.Range("C64:C" & Range("C" & Rows.Count).End(xlUp).Row) 

en incluant la variable Ligne qui dennera le numero de la ligne où commencer soit : Ligne= 64 par exemple.

merci

Bonjour

A tester :

aa = fd.Range("C" & Ligne & ":C" & Range("C" & Rows.Count).End(xlUp).Row) 

Bye !

Rechercher des sujets similaires à "creer graphe secteur"