Graphe en VBA

S

sonskriverez

Guest
Bonjour le forum

Afin de finaliser une macro, je voudrais avoir un graphe en VBA qui doit representer l'evolution d'un total par jour.

les conditions sont les suivantes :

1°) ne pas prendre en compte les lignes sans données.
2°) il doit y avoir 1 graphe par feuilles.(j'ai 10 tableaux sur 10 feuilles diférentes)

Merci de votre aide [file name=Graphe_20060218083348.zip size=4987]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Graphe_20060218083348.zip[/file]
 

Pièces jointes

  • Graphe_20060218083348.zip
    4.9 KB · Affichages: 23

MichelXld

XLDnaute Barbatruc
bonjour

j'espere que cet exemple pourra t'aider

tu te places sur chaque feuille contenant un tableau puis tu lances la procedure

il te restera à l'adapter pour ton projet , nottament pour eventuellement boucler sur les 10 feuilles


Sub creerGraphiqueFeuille()
Dim i As Byte
Dim j As Integer, Debut As Integer, Fin As Integer
Dim Plage As Range, Plage2 As Range
Dim nomFeuille As String

nomFeuille = ActiveSheet.Name

'Range('B27') pour un tableau potentiel de 31 jours
Fin = Sheets(ActiveSheet.Name).Range('B27').End(xlUp).Row
Debut = Sheets(ActiveSheet.Name).Cells(Fin, 2).End(xlUp).Row

Set Plage = ActiveSheet.Range('A' & Debut & ':A' & Fin)

Application.ScreenUpdating = False
Charts.Add
ActiveChart.Location Where:=xlLocationAsObject, Name:=nomFeuille

For i = 0 To 6 'nombre de séries dans le graphique

ActiveChart.SeriesCollection.NewSeries
Set Plage2 = _
Sheets(nomFeuille).Range(Sheets(nomFeuille).Cells(Debut, i + 2).Address & ':' & _
Sheets(nomFeuille).Cells(Fin, i + 2).Address)

ActiveChart.SeriesCollection(i + 1).Values = Plage2
If i = 0 Then ActiveChart.SeriesCollection(i + 1).XValues = Plage
ActiveChart.SeriesCollection(i + 1).Name = Sheets(nomFeuille).Cells(3, i + 2) 'nom de la courbe
ActiveChart.SeriesCollection(i + 1).Border.ColorIndex = i + 4
ActiveChart.ChartType = xlLine
Next i

ActiveChart.Axes(xlCategory).TickLabels.Orientation = xlUpward
ActiveChart.Axes(xlValue).HasMajorGridlines = False

Application.ScreenUpdating = True
End Sub



bonne journée
MichelXld

Message édité par: michelxld, à: 19/02/2006 06:55
 
S

sonskriverez

Guest
Désolé c'est parceque c'est dimanche, tu as entièrement raison, par contre le graphe n'est pas trés lisible, il faut le simplifier.

prendre en compte que

la colonne date
la colonne lib4
la colonne total

par contre il faudrait je sais pa si c'est possible que lib4 soit un axe secondaire autrement la courbe est plate, prbl d'echelle des valeurs

comme sur l'exemple

En tout cas merci de ton aide et excuse moi encore pour mon dernier post [file name=GrapheV2.zip size=6917]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/GrapheV2.zip[/file]
 

Pièces jointes

  • GrapheV2.zip
    6.8 KB · Affichages: 22

Discussions similaires

Réponses
6
Affichages
490

Statistiques des forums

Discussions
312 500
Messages
2 089 005
Membres
104 003
dernier inscrit
adyady__