Bonjour à tous!
Je débute en VBA et cela fait trois jours que j'essaye de faire une macro sans résultat, j'ai besoin d'aide pour trouver ce qui coince dans mon code... j'ai posté déjà sur plusieurs forums, et personne ne m'a répondu Pourtant je pense que c'est une faute de syntaxe très bête que je fais et que ce n'est vraiment pas très compliqué.
J'ai mis 2 impressions écran en pièces jointes, et ci-dessous quelques explications sur ce que j'aimerais obtenir:
J'ai deux feuilles excel:
-la feuille 1 qui contient différentes plages de données (144)
-la feuille 2 qui contiendra les graphiques relatifs à chaque plage de données
Les deux feuilles sont sous forme d'une grosse matrice 12x12, dont chaque élément ((1,1), (1,2), (1,3) etc...) est une colonne de 180 valeurs (ce sont des valeurs en fonction d'un angle). J'ai donc au total 12x12x180 valeurs.
J'aimerais pour chacune des plages de données de 180 valeurs un graphique type aires qui se place correctement et se mets aux bonnes dimensions comme j'ai fait à titre d'exemple dans la feuille 2.
J'ai commencé à écrire le code pour la création et le placement du graphique (pas encore la mise au dimensions), mais j'ai pour commencer une erreur 1004 à la ligne "Set Values = Worksheets("Feuil1").Range(Cells(X, Y), Cells(U, V))" et je ne pense pas que ce sera la seule!
Pouvez-vous m'aider? Voici le code ci dessous
Coralie
Sub Graphe()
'
' Graphe Macro
'
Dim i As Integer 'incrément colonne
Dim j As Integer 'incrément ligne
For i = 1 To 12
For j = 1 To 12
'Coordonnées de le première case de la plage de données allant en ordonnées du graphe
Dim X As Long
X = 5 + (j - 1) * 186 'ligne
Dim Y As Long
Y = 1 + 3 * i 'colonne"
'Coordonnées de le dernière case de la plage de données allant en ordonnées du graphe
Dim U As Long
U = 5 + (j - 1) * 186 + 180 'ligne
Dim V As Long
V = 1 + 3 * i ' colonne
Dim Graphic As Chart, lngValues As Range
Cells(X, Y).Select 'Pour que le graphique se place au bon endroit
Set lngValues = Worksheets("Feuil1").Range(Cells(X, Y), Cells(U, V))
Set Graphic = ThisWorkbook.Charts.Add
Graphic.ChartType = xlArea
Graphic.SetSourceData Values, Range("B5,B185") ' toujours la même chose (de 0 à 180°), donc pas besoin de faire varier avec i et j
Next
Next
End Sub
Je débute en VBA et cela fait trois jours que j'essaye de faire une macro sans résultat, j'ai besoin d'aide pour trouver ce qui coince dans mon code... j'ai posté déjà sur plusieurs forums, et personne ne m'a répondu
J'ai mis 2 impressions écran en pièces jointes, et ci-dessous quelques explications sur ce que j'aimerais obtenir:
J'ai deux feuilles excel:
-la feuille 1 qui contient différentes plages de données (144)
-la feuille 2 qui contiendra les graphiques relatifs à chaque plage de données
Les deux feuilles sont sous forme d'une grosse matrice 12x12, dont chaque élément ((1,1), (1,2), (1,3) etc...) est une colonne de 180 valeurs (ce sont des valeurs en fonction d'un angle). J'ai donc au total 12x12x180 valeurs.
J'aimerais pour chacune des plages de données de 180 valeurs un graphique type aires qui se place correctement et se mets aux bonnes dimensions comme j'ai fait à titre d'exemple dans la feuille 2.
J'ai commencé à écrire le code pour la création et le placement du graphique (pas encore la mise au dimensions), mais j'ai pour commencer une erreur 1004 à la ligne "Set Values = Worksheets("Feuil1").Range(Cells(X, Y), Cells(U, V))" et je ne pense pas que ce sera la seule!
Pouvez-vous m'aider? Voici le code ci dessous
Coralie
Sub Graphe()
'
' Graphe Macro
'
Dim i As Integer 'incrément colonne
Dim j As Integer 'incrément ligne
For i = 1 To 12
For j = 1 To 12
'Coordonnées de le première case de la plage de données allant en ordonnées du graphe
Dim X As Long
X = 5 + (j - 1) * 186 'ligne
Dim Y As Long
Y = 1 + 3 * i 'colonne"
'Coordonnées de le dernière case de la plage de données allant en ordonnées du graphe
Dim U As Long
U = 5 + (j - 1) * 186 + 180 'ligne
Dim V As Long
V = 1 + 3 * i ' colonne
Dim Graphic As Chart, lngValues As Range
Cells(X, Y).Select 'Pour que le graphique se place au bon endroit
Set lngValues = Worksheets("Feuil1").Range(Cells(X, Y), Cells(U, V))
Set Graphic = ThisWorkbook.Charts.Add
Graphic.ChartType = xlArea
Graphic.SetSourceData Values, Range("B5,B185") ' toujours la même chose (de 0 à 180°), donc pas besoin de faire varier avec i et j
Next
Next
End Sub