Bonjour a tous et merci d'avance de bien vouloir m'aider,
Je suis un vrai débutant en VB et je lutte actuellement sur une macro a mon avis relativement simple. En fait j'ai un tableau de 4 lignes et 5 colonnes du genre :
Au Bu Cu Du
Ref 1 3 1 1 0
Ref 2 0 0 0 1
Ref 3 0 1 0 1
Ref 4 2 1 1 0
et je cherche a creer 4 graphes en batons tous cons avec le meme abscisse ( les termes Au , Bu , Cu , Du) et les valeurs de chaque ligne en ordonnée. Ainsi pour realiser le premier tableau, macro selectionne les deux premieres lignes, "clique" sur creer tableau et bingo. Pour le deuxieme tableau elle selectionne la 1ere et la 3eme lignes etc...
Pour faciliter les choses j'ai bati un nouveau tableau qui fait reapparaitre la premiere ligne (Au ...) toute les deux lignes (donc le tableau fait 8 lignes...) et ma macro (qui ne marche pas malheureusement) fait une boucle qui dit :
- for j= 1 to 3 (le premier tableau est fait a l'aide d'une macro differnte).
- selectionne les lignes 2j+1 et 2j+2 (deux lignes = un plage = un range) (ps : ca ca marche j'ai testé)
- dessine le graph correspondant dans une nouvelle fenetre appelé j+1 (ca ca marche moins
)
- next j
Si vous pouviez m'expliquer pourquoi mon code ne marche pas je vous en serai trés reconnaissant !
Merci d'avance
mon code :
Sub ...()
Dim j As Integer
Dim a As Integer
Dim b As Integer
j = 1
For j = 1 To 3
a = 2 * j + 1
b = 2 * j + 2
Sheets("graph1" ).Select
Range(Cells(a, 1), Cells(b, 5)).Select
'Range(Cells(2 * j + 1, 1), Cells(2 * j + 2, 5)).Select
'r.Select
Application.CutCopyMode = False
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("graph1" ).Range(Cells(a, 1), Cells(b, 5)), PlotBy:= _
xlRows 'C'est la que VB m'indique que ca bug.. ps: graph1 est bien la ou est mon tableau
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=j + 1
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
ActiveChart.HasLegend = False
next j
End sub
Message édité par audoin le 31-08-2005 à 09:36:55
---------------
encore merci