macro Excel VBA : Création automatique de 140 graphiques
Dernière réponse : dans Programmation
Bonjour,
Je souhaite générer au moins 140 graphes sur l'évolution sur 1 an de
mes données. Cependant, ce nombre peut varier, je souhaite donc tout automatiser.
Toutefois, j'ai un bug car si j'imagine que toutes mes données sont
sur un fichier et que sur 140 lignes, je créée mes graphes, mon
incrémentation ne marche pas, si je n'ai pas de variable et que je
créée 140 fois le même graphe, ça marche, mais, pour des lignes
différentes, rien, les 140 graphes sont sans courbe, donc, je n'ai pas
su écrire mon incrémentation, un truc que je cherche encore et que je
ne sais pas, donc, si quelqu'un connait mon erreur et vu que je
travaille surtout le soir là-dessus, ça me permettrait d'avancer,
merci !
J'ai compté que ma macro fonctionnera sur 140 courbes à exécuter
automatiquement, ce qui est gros.
J'ai 1 seul bug qui est que ma ligne d'incrémentation, VBA ne la
comprend pas :
Si je créée 5 fois la même courbe, ça marche, mais, si je veux prendre
en compte chaque ligne avec ses données, il crée 5 tableaux vides,
donc, il ne comprend pas ce que j'ai écrit, c'est bien écrit, mais
non, donc, je cherche une autre solution ou où est mon erreur ?
Ceci ne marche pas :
lignier1 = Chr(34) & "=" & "(tableau!R" & i & "C3," & "tableau!R"
& i & "C4," _
& "tableau!R" & i & "C6," & "tableau!R" & i & "C8," & "tableau!R"
& i & "C10)" & Chr(34)
ActiveChart.SeriesCollection(1).Values = lignier1
dans uen cellule, j'ai écrit ce que ça donne :
"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!R2C10)"
de 2 à 5 comme prévu et il ne me donne aucune courbe ?
J'ai essayé une autre méthode, mais ,j'ai là aussi un problème
d'incrémentation.
Merci.
Sub courbes()
'
' courbes Macro
' Macro enregistrée le 10/02/2007 par pc2
'
'
' version2 Macro
' Macro enregistrée le 09/02/2007 par eric31
'
'maxlig = Range("B65535").End(xlUp).Row
maxlign = 5
For i = 2 To maxlign
Sheets("tableau").Select
Charts.Add
'ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Courbes"
ActiveChart.ChartType = xlLine
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = _
"=(tableau!R1C3,tableau!R1C4,tableau!R1C6,tableau!R1C8,tableau!
R1C10)"
lignier1 = Chr(34) & "=" & "(tableau!R" & i & "C3," & "tableau!R"
& i & "C4," _
& "tableau!R" & i & "C6," & "tableau!R" & i & "C8," & "tableau!R"
& i & "C10)" & Chr(34)
ActiveChart.SeriesCollection(1).Values = lignier1
'voir ActiveChart.SeriesCollection(1).Values = _
"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!
R2C10)"
'"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!
R2C10)"
ActiveChart.SeriesCollection(1).Name = "=""1ereserie"""
'lignier2 = Chr(34) & "=" & "(tableau!R" & i & "C5," & "tableau!R"
& i & "C7," _
& "tableau!R" & i & "C9," & "tableau!R" & i & "C11,"
& "tableau!R" & i & "C13)" & Chr(34)
'ActiveChart.SeriesCollection(2).Values = lignier2
'ActiveChart.SeriesCollection(2).Values = _
"=(tableau!R(i)C5,tableau!R(i)C7,tableau!R(i)C9,tableau!R(i)
C11,tableau!R(i)C13)"
'tableau!R8C3,tableau!R8C4,tableau!R8C6,tableau!R8C8,tableau!
R8C10
'ActiveChart.SeriesCollection(2).Name = "=""2emeserie"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="graphmaison"
'ActiveChart.Axes(xlCategory).Select
ActiveChart.PlotArea.Select
ActiveChart.ChartType = xlLine
'ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Courbes" '"Courbes à deux axes"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
'.Axes(xlCategory, xlSecondary).HasTitle = False
'.Axes(xlValue, xlSecondary).HasTitle = False
End With
Sheets("graphmaison").Cells(i, 1) = lignier1
Sheets("tableau").Select
Next
'
'
ActiveSheet.Shapes.AddTextEffect
(msoTextEffect11, "courbes", "Impact", 20#, _
msoFalse, msoFalse, 249#, 147#).Select
Selection.ShapeRange.IncrementLeft 208.5
Selection.ShapeRange.IncrementTop -30.75
Range("H15").Select
End Sub
Je souhaite générer au moins 140 graphes sur l'évolution sur 1 an de
mes données. Cependant, ce nombre peut varier, je souhaite donc tout automatiser.
Toutefois, j'ai un bug car si j'imagine que toutes mes données sont
sur un fichier et que sur 140 lignes, je créée mes graphes, mon
incrémentation ne marche pas, si je n'ai pas de variable et que je
créée 140 fois le même graphe, ça marche, mais, pour des lignes
différentes, rien, les 140 graphes sont sans courbe, donc, je n'ai pas
su écrire mon incrémentation, un truc que je cherche encore et que je
ne sais pas, donc, si quelqu'un connait mon erreur et vu que je
travaille surtout le soir là-dessus, ça me permettrait d'avancer,
merci !
J'ai compté que ma macro fonctionnera sur 140 courbes à exécuter
automatiquement, ce qui est gros.
J'ai 1 seul bug qui est que ma ligne d'incrémentation, VBA ne la
comprend pas :
Si je créée 5 fois la même courbe, ça marche, mais, si je veux prendre
en compte chaque ligne avec ses données, il crée 5 tableaux vides,
donc, il ne comprend pas ce que j'ai écrit, c'est bien écrit, mais
non, donc, je cherche une autre solution ou où est mon erreur ?
Ceci ne marche pas :
lignier1 = Chr(34) & "=" & "(tableau!R" & i & "C3," & "tableau!R"
& i & "C4," _
& "tableau!R" & i & "C6," & "tableau!R" & i & "C8," & "tableau!R"
& i & "C10)" & Chr(34)
ActiveChart.SeriesCollection(1).Values = lignier1
dans uen cellule, j'ai écrit ce que ça donne :
"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!R2C10)"
de 2 à 5 comme prévu et il ne me donne aucune courbe ?
J'ai essayé une autre méthode, mais ,j'ai là aussi un problème
d'incrémentation.
Merci.
Sub courbes()
'
' courbes Macro
' Macro enregistrée le 10/02/2007 par pc2
'
'
' version2 Macro
' Macro enregistrée le 09/02/2007 par eric31
'
'maxlig = Range("B65535").End(xlUp).Row
maxlign = 5
For i = 2 To maxlign
Sheets("tableau").Select
Charts.Add
'ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Courbes"
ActiveChart.ChartType = xlLine
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = _
"=(tableau!R1C3,tableau!R1C4,tableau!R1C6,tableau!R1C8,tableau!
R1C10)"
lignier1 = Chr(34) & "=" & "(tableau!R" & i & "C3," & "tableau!R"
& i & "C4," _
& "tableau!R" & i & "C6," & "tableau!R" & i & "C8," & "tableau!R"
& i & "C10)" & Chr(34)
ActiveChart.SeriesCollection(1).Values = lignier1
'voir ActiveChart.SeriesCollection(1).Values = _
"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!
R2C10)"
'"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!
R2C10)"
ActiveChart.SeriesCollection(1).Name = "=""1ereserie"""
'lignier2 = Chr(34) & "=" & "(tableau!R" & i & "C5," & "tableau!R"
& i & "C7," _
& "tableau!R" & i & "C9," & "tableau!R" & i & "C11,"
& "tableau!R" & i & "C13)" & Chr(34)
'ActiveChart.SeriesCollection(2).Values = lignier2
'ActiveChart.SeriesCollection(2).Values = _
"=(tableau!R(i)C5,tableau!R(i)C7,tableau!R(i)C9,tableau!R(i)
C11,tableau!R(i)C13)"
'tableau!R8C3,tableau!R8C4,tableau!R8C6,tableau!R8C8,tableau!
R8C10
'ActiveChart.SeriesCollection(2).Name = "=""2emeserie"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="graphmaison"
'ActiveChart.Axes(xlCategory).Select
ActiveChart.PlotArea.Select
ActiveChart.ChartType = xlLine
'ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Courbes" '"Courbes à deux axes"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
'.Axes(xlCategory, xlSecondary).HasTitle = False
'.Axes(xlValue, xlSecondary).HasTitle = False
End With
Sheets("graphmaison").Cells(i, 1) = lignier1
Sheets("tableau").Select
Next
'
'
ActiveSheet.Shapes.AddTextEffect
(msoTextEffect11, "courbes", "Impact", 20#, _
msoFalse, msoFalse, 249#, 147#).Select
Selection.ShapeRange.IncrementLeft 208.5
Selection.ShapeRange.IncrementTop -30.75
Range("H15").Select
End Sub
Autres pages sur : macro excel vba creation automatique 140 graphiques
Lassé par la pub ? Créez un compte
Ok, merci, voici donc le code source :
voilà.
Techneric
Sub courbes()
'
' courbes Macro
' Macro enregistrée le 10/02/2007 par pc2
'
'
' version2 Macro
' Macro enregistrée le 09/02/2007 par eric31
'
'maxlig = Range("B65535" ).End(xlUp).Row
maxlign = 5
For i = 2 To maxlign
Sheets("tableau" ).Select
Charts.Add
'ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Courbes"
ActiveChart.ChartType = xlLine
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = _
"=(tableau!R1C3,tableau!R1C4,tableau!R1C6,tableau!R1C8,tableau!
R1C10)"
lignier1 = Chr(34) & "=" & "(tableau!R" & i & "C3," & "tableau!R"
& i & "C4," _
& "tableau!R" & i & "C6," & "tableau!R" & i & "C8," & "tableau!R"
& i & "C10)" & Chr(34)
ActiveChart.SeriesCollection(1).Values = lignier1
'voir ActiveChart.SeriesCollection(1).Values = _
"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!
R2C10)"
'"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!
R2C10)"
ActiveChart.SeriesCollection(1).Name = "=""1ereserie"""
'lignier2 = Chr(34) & "=" & "(tableau!R" & i & "C5," & "tableau!R"
& i & "C7," _
& "tableau!R" & i & "C9," & "tableau!R" & i & "C11,"
& "tableau!R" & i & "C13)" & Chr(34)
'ActiveChart.SeriesCollection(2).Values = lignier2
'ActiveChart.SeriesCollection(2).Values = _
"=(tableau!R(i)C5,tableau!R(i)C7,tableau!R(i)C9,tableau!R(i)
C11,tableau!R(i)C13)"
'tableau!R8C3,tableau!R8C4,tableau!R8C6,tableau!R8C8,tableau!
R8C10
'ActiveChart.SeriesCollection(2).Name = "=""2emeserie"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="graphmaison"
'ActiveChart.Axes(xlCategory).Select
ActiveChart.PlotArea.Select
ActiveChart.ChartType = xlLine
'ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Courbes" '"Courbes à deux axes"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
'.Axes(xlCategory, xlSecondary).HasTitle = False
'.Axes(xlValue, xlSecondary).HasTitle = False
End With
Sheets("graphmaison" ).Cells(i, 1) = lignier1
Sheets("tableau" ).Select
Next
'
'
ActiveSheet.Shapes.AddTextEffect
(msoTextEffect11, "courbes", "Impact", 20#, _
msoFalse, msoFalse, 249#, 147#).Select
Selection.ShapeRange.IncrementLeft 208.5
Selection.ShapeRange.IncrementTop -30.75
Range("H15" ).Select
End Sub
voilà.
Techneric
Merci, en revanche, j'ai un peu avancé, car je pense que c'est Chr(34) qui ne me done pas " comme je veux, j'ai remplacé le tout par ceci :
lignier1 = "=(tableau!R" & i & "C3," & "tableau!R" & i & "C4," _
& "tableau!R" & i & "C6," & "tableau!R" & i & "C8," & "tableau!R" & i & "C10)"
là, ça marche, j'ai mes courbes, c'est déjà bien, sauf que ce que je n'ai pas compris, c'est que si j'écrit ce que celà donne, Excel ne comprends pas ce contenu, j'ai #VALEUR! mais bon, tant pis, j'ai au moins mes courbes ! Le bug, en revanche et que je voudrai supprimer, c'est que la macro me créée un double du bouton de lancement de la macro, chaque fois que j'appuie sur le bouton macro, le bouton est dupliqué autant de fois que je clique sur ma feuille tableau ?
Est-ce que quelqu'un connait ce bug ?
Merci.
lignier1 = "=(tableau!R" & i & "C3," & "tableau!R" & i & "C4," _
& "tableau!R" & i & "C6," & "tableau!R" & i & "C8," & "tableau!R" & i & "C10)"
là, ça marche, j'ai mes courbes, c'est déjà bien, sauf que ce que je n'ai pas compris, c'est que si j'écrit ce que celà donne, Excel ne comprends pas ce contenu, j'ai #VALEUR! mais bon, tant pis, j'ai au moins mes courbes ! Le bug, en revanche et que je voudrai supprimer, c'est que la macro me créée un double du bouton de lancement de la macro, chaque fois que j'appuie sur le bouton macro, le bouton est dupliqué autant de fois que je clique sur ma feuille tableau ?
Est-ce que quelqu'un connait ce bug ?
Merci.
Autant pour moi, Excel m'a enregistré quelque chose que je n'ai pas vu :
ActiveSheet.Shapes.AddTextEffect
(msoTextEffect11, "courbes", "Impact", 20#, _
msoFalse, msoFalse, 249#, 147#).Select
Selection.ShapeRange.IncrementLeft 208.5
Selection.ShapeRange.IncrementTop -30.75
Range("H15" ).Select
Il avait enregistré mon bouton !
ActiveSheet.Shapes.AddTextEffect
(msoTextEffect11, "courbes", "Impact", 20#, _
msoFalse, msoFalse, 249#, 147#).Select
Selection.ShapeRange.IncrementLeft 208.5
Selection.ShapeRange.IncrementTop -30.75
Range("H15" ).Select
Il avait enregistré mon bouton !
Balise [CODE] bon sang de bois !
Sinon, je vois que tu t'en sors bien avec l'enregistreur de macro.
Chr(34), c'est bien le caractère ". Par contre, les guillemets ne font pas partie de la chaîne de caractères pour Excel. En revanche, les guillemets servent à délimiter cette chaîne en VB. Donc, en utilisant Chr(34), tu mettais explicitement un guillemet dans ta chaîne.
Je n'ai pas compris ton histoire de #VALEUR!
Vérifie bien tout (Facile à dire
) et reformule ta demande.
Sinon, je vois que tu t'en sors bien avec l'enregistreur de macro.
Chr(34), c'est bien le caractère ". Par contre, les guillemets ne font pas partie de la chaîne de caractères pour Excel. En revanche, les guillemets servent à délimiter cette chaîne en VB. Donc, en utilisant Chr(34), tu mettais explicitement un guillemet dans ta chaîne.
Je n'ai pas compris ton histoire de #VALEUR!
Vérifie bien tout (Facile à dire
) et reformule ta demande.
Bonjour,
j'ai résolu mon pb en faisant:
xxxxx="= Feuil1!R2C3"
i = 2
xxxxx="=Feuil1!R" & Val(i) & "C3"
Je souhaite générer au moins 140 graphes sur l'évolution sur 1 an de
mes données. Cependant, ce nombre peut varier, je souhaite donc tout automatiser.
Toutefois, j'ai un bug car si j'imagine que toutes mes données sont
sur un fichier et que sur 140 lignes, je créée mes graphes, mon
incrémentation ne marche pas, si je n'ai pas de variable et que je
créée 140 fois le même graphe, ça marche, mais, pour des lignes
différentes, rien, les 140 graphes sont sans courbe, donc, je n'ai pas
su écrire mon incrémentation, un truc que je cherche encore et que je
ne sais pas, donc, si quelqu'un connait mon erreur et vu que je
travaille surtout le soir là-dessus, ça me permettrait d'avancer,
merci !
J'ai compté que ma macro fonctionnera sur 140 courbes à exécuter
automatiquement, ce qui est gros.
J'ai 1 seul bug qui est que ma ligne d'incrémentation, VBA ne la
comprend pas :
Si je créée 5 fois la même courbe, ça marche, mais, si je veux prendre
en compte chaque ligne avec ses données, il crée 5 tableaux vides,
donc, il ne comprend pas ce que j'ai écrit, c'est bien écrit, mais
non, donc, je cherche une autre solution ou où est mon erreur ?
Ceci ne marche pas :
lignier1 = Chr(34) & "=" & "(tableau!R" & i & "C3," & "tableau!R"
& i & "C4," _
& "tableau!R" & i & "C6," & "tableau!R" & i & "C8," & "tableau!R"
& i & "C10)" & Chr(34)
ActiveChart.SeriesCollection(1).Values = lignier1
dans uen cellule, j'ai écrit ce que ça donne :
"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!R2C10)"
de 2 à 5 comme prévu et il ne me donne aucune courbe ?
J'ai essayé une autre méthode, mais ,j'ai là aussi un problème
d'incrémentation.
Merci.
Sub courbes()
'
' courbes Macro
' Macro enregistrée le 10/02/2007 par pc2
'
'
' version2 Macro
' Macro enregistrée le 09/02/2007 par eric31
'
'maxlig = Range("B65535").End(xlUp).Row
maxlign = 5
For i = 2 To maxlign
Sheets("tableau").Select
Charts.Add
'ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Courbes"
ActiveChart.ChartType = xlLine
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = _
"=(tableau!R1C3,tableau!R1C4,tableau!R1C6,tableau!R1C8,tableau!
R1C10)"
lignier1 = Chr(34) & "=" & "(tableau!R" & i & "C3," & "tableau!R"
& i & "C4," _
& "tableau!R" & i & "C6," & "tableau!R" & i & "C8," & "tableau!R"
& i & "C10)" & Chr(34)
ActiveChart.SeriesCollection(1).Values = lignier1
'voir ActiveChart.SeriesCollection(1).Values = _
"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!
R2C10)"
'"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!
R2C10)"
ActiveChart.SeriesCollection(1).Name = "=""1ereserie"""
'lignier2 = Chr(34) & "=" & "(tableau!R" & i & "C5," & "tableau!R"
& i & "C7," _
& "tableau!R" & i & "C9," & "tableau!R" & i & "C11,"
& "tableau!R" & i & "C13)" & Chr(34)
'ActiveChart.SeriesCollection(2).Values = lignier2
'ActiveChart.SeriesCollection(2).Values = _
"=(tableau!R(i)C5,tableau!R(i)C7,tableau!R(i)C9,tableau!R(i)
C11,tableau!R(i)C13)"
'tableau!R8C3,tableau!R8C4,tableau!R8C6,tableau!R8C8,tableau!
R8C10
'ActiveChart.SeriesCollection(2).Name = "=""2emeserie"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="graphmaison"
'ActiveChart.Axes(xlCategory).Select
ActiveChart.PlotArea.Select
ActiveChart.ChartType = xlLine
'ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Courbes" '"Courbes à deux axes"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
'.Axes(xlCategory, xlSecondary).HasTitle = False
'.Axes(xlValue, xlSecondary).HasTitle = False
End With
Sheets("graphmaison").Cells(i, 1) = lignier1
Sheets("tableau").Select
Next
'
'
ActiveSheet.Shapes.AddTextEffect
(msoTextEffect11, "courbes", "Impact", 20#, _
msoFalse, msoFalse, 249#, 147#).Select
Selection.ShapeRange.IncrementLeft 208.5
Selection.ShapeRange.IncrementTop -30.75
Range("H15").Select
End Sub
j'ai résolu mon pb en faisant:
xxxxx="= Feuil1!R2C3"
i = 2
xxxxx="=Feuil1!R" & Val(i) & "C3"
brice07 a dit :
Bonjour,Je souhaite générer au moins 140 graphes sur l'évolution sur 1 an de
mes données. Cependant, ce nombre peut varier, je souhaite donc tout automatiser.
Toutefois, j'ai un bug car si j'imagine que toutes mes données sont
sur un fichier et que sur 140 lignes, je créée mes graphes, mon
incrémentation ne marche pas, si je n'ai pas de variable et que je
créée 140 fois le même graphe, ça marche, mais, pour des lignes
différentes, rien, les 140 graphes sont sans courbe, donc, je n'ai pas
su écrire mon incrémentation, un truc que je cherche encore et que je
ne sais pas, donc, si quelqu'un connait mon erreur et vu que je
travaille surtout le soir là-dessus, ça me permettrait d'avancer,
merci !
J'ai compté que ma macro fonctionnera sur 140 courbes à exécuter
automatiquement, ce qui est gros.
J'ai 1 seul bug qui est que ma ligne d'incrémentation, VBA ne la
comprend pas :
Si je créée 5 fois la même courbe, ça marche, mais, si je veux prendre
en compte chaque ligne avec ses données, il crée 5 tableaux vides,
donc, il ne comprend pas ce que j'ai écrit, c'est bien écrit, mais
non, donc, je cherche une autre solution ou où est mon erreur ?
Ceci ne marche pas :
lignier1 = Chr(34) & "=" & "(tableau!R" & i & "C3," & "tableau!R"
& i & "C4," _
& "tableau!R" & i & "C6," & "tableau!R" & i & "C8," & "tableau!R"
& i & "C10)" & Chr(34)
ActiveChart.SeriesCollection(1).Values = lignier1
dans uen cellule, j'ai écrit ce que ça donne :
"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!R2C10)"
de 2 à 5 comme prévu et il ne me donne aucune courbe ?
J'ai essayé une autre méthode, mais ,j'ai là aussi un problème
d'incrémentation.
Merci.
Sub courbes()
'
' courbes Macro
' Macro enregistrée le 10/02/2007 par pc2
'
'
' version2 Macro
' Macro enregistrée le 09/02/2007 par eric31
'
'maxlig = Range("B65535").End(xlUp).Row
maxlign = 5
For i = 2 To maxlign
Sheets("tableau").Select
Charts.Add
'ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Courbes"
ActiveChart.ChartType = xlLine
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = _
"=(tableau!R1C3,tableau!R1C4,tableau!R1C6,tableau!R1C8,tableau!
R1C10)"
lignier1 = Chr(34) & "=" & "(tableau!R" & i & "C3," & "tableau!R"
& i & "C4," _
& "tableau!R" & i & "C6," & "tableau!R" & i & "C8," & "tableau!R"
& i & "C10)" & Chr(34)
ActiveChart.SeriesCollection(1).Values = lignier1
'voir ActiveChart.SeriesCollection(1).Values = _
"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!
R2C10)"
'"=(tableau!R2C3,tableau!R2C4,tableau!R2C6,tableau!R2C8,tableau!
R2C10)"
ActiveChart.SeriesCollection(1).Name = "=""1ereserie"""
'lignier2 = Chr(34) & "=" & "(tableau!R" & i & "C5," & "tableau!R"
& i & "C7," _
& "tableau!R" & i & "C9," & "tableau!R" & i & "C11,"
& "tableau!R" & i & "C13)" & Chr(34)
'ActiveChart.SeriesCollection(2).Values = lignier2
'ActiveChart.SeriesCollection(2).Values = _
"=(tableau!R(i)C5,tableau!R(i)C7,tableau!R(i)C9,tableau!R(i)
C11,tableau!R(i)C13)"
'tableau!R8C3,tableau!R8C4,tableau!R8C6,tableau!R8C8,tableau!
R8C10
'ActiveChart.SeriesCollection(2).Name = "=""2emeserie"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="graphmaison"
'ActiveChart.Axes(xlCategory).Select
ActiveChart.PlotArea.Select
ActiveChart.ChartType = xlLine
'ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Courbes" '"Courbes à deux axes"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
'.Axes(xlCategory, xlSecondary).HasTitle = False
'.Axes(xlValue, xlSecondary).HasTitle = False
End With
Sheets("graphmaison").Cells(i, 1) = lignier1
Sheets("tableau").Select
Next
'
'
ActiveSheet.Shapes.AddTextEffect
(msoTextEffect11, "courbes", "Impact", 20#, _
msoFalse, msoFalse, 249#, 147#).Select
Selection.ShapeRange.IncrementLeft 208.5
Selection.ShapeRange.IncrementTop -30.75
Range("H15").Select
End Sub
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumMacro excel vba boucle cellule
- ForumMacro excel vba compter les feuille
- ForumMacro excel vba doublon fusion
- ForumMacro excel vba copier onglet
- ForumCréation macro excel
- ForumCréation automatique de feuilles sous excel
- ForumLancement automatique de macro excel
- ForumExcel vba argument macro
- ForumExcel vba lancer macro
- ForumExcel vba macro password
- Voir plus