Graphique avec plage de donnees variable
Bonjour Messieurs,
J'ai un petit soucis que je n'arrive pas à résoudre depuis deux jours:
Je voudrais sélectionner une plage de donnée pour mon graphique.
Le problème est que cette plage de donnée admet des cellules vides et je voudrais donc les filtrer pour ne pas les inclure dans le graphique (c'est moche sinon).
La variable "contenu" (voir code ci-dessous) me permet de stocker les cellules qui contiennent des informations à afficher dans mon graphique.
Si je sélectionne l'ensemble de la colonne de données, par exemple (A2:A30) et que le l'affecte aux XValues de mon graphe, le graphique n'est pas jolie mais cela fonctionne.
Par contre si je commence à filtrer les cellules vides dans cette plage, comme dans mon code, je n'arrive pas à affecter le résultat à mes XValues ni même à mes Values.
C'est le séparateur ";" qui n'est pas bon ?
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| If ComboBox2.Value <> Empty Then 'Menu déroulant permettant de sélectionner l'itération étudiée
Sheets("AnalyseEpaisseurs").Activate
coup = ComboBox2.Value
If ComboBox2.Value <> Empty Then
Set Graph1 = Worksheets("AnalyseEpaisseurs").ChartObjects(1).Chart
Graph1.SetSourceData Source:=Sheets("AnalyseEpaisseurs").Range("A2:B6")
'Definition des plages du graphe:
'Plage1:
contenu = "AnalyseEpaisseurs!A" & i & ":"
j = 0
For i = 2 To 30
If Cells(i, 1).Value <> Empty And j = 1 Then
contenu = contenu & ";AnalyseEpaisseurs!A" & i & ":"
j = 0
ElseIf Cells(i, 1).Value = Empty And j = 0 Then
contenu = contenu & "A" & i - 1
j = 1
End If
Next i
Graph1.SeriesCollection(1).XValues = contenu
'Plage2:
j = 0
If Cells(2, 2).Value <> Empty Then
l = "B"
k = 2
Else
l = "C"
k = 3
End If
contenu = "=AnalyseEpaisseurs!" & l & "2:"
For i = 2 To 30
If Cells(i, k).Value <> Empty And j = 1 Then
contenu = contenu & ";AnalyseEpaisseurs!" & l & i & ":"
j = 0
ElseIf Cells(i, k).Value = Empty And j = 0 Then
contenu = contenu & l & i - 1
j = 1
End If
Next i
Graph1.SeriesCollection(1).Values = contenu
Nomimage = ThisWorkbook.Path & Application.PathSeparator & "Graph1.gif"
Graph1.Export Filename:=Nomimage, FilterName:="GIF"
Me.Image3.Picture = LoadPicture(Nomimage) |
Merci.