![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
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] |
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 713
|
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).Ro w 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.Orientatio n = xlUpward ActiveChart.Axes(xlValue).HasMajorGridlines = False Application.ScreenUpdating = True End Sub bonne journée MichelXld Message édité par: michelxld, à: 19/02/2006 06:55 |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 713
|
bonjour
Peux tu reformuler ta question. Je ne comprends pas ta demande car dans l'exemple proposé les données sont bien récupérées entre le 08 et le 17 Février (la plage de cellules non vide ) bonne journée MichelXld |
|
|
|
|
|
#5 (permalink) |
|
Guest
Messages: n/a
|
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] |
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|