Graphique: Macro glissement de 7 lignes au niveau des séries
Résolu/Fermé
Yrmouf
Messages postés
126
Date d'inscription
samedi 4 août 2012
Statut
Membre
Dernière intervention
22 septembre 2020
-
Modifié par Yrmouf le 26/08/2013 à 16:30
Yrmouf Messages postés 126 Date d'inscription samedi 4 août 2012 Statut Membre Dernière intervention 22 septembre 2020 - 27 août 2013 à 15:31
Yrmouf Messages postés 126 Date d'inscription samedi 4 août 2012 Statut Membre Dernière intervention 22 septembre 2020 - 27 août 2013 à 15:31
A voir également:
- Graphique: Macro glissement de 7 lignes au niveau des séries
- Changer carte graphique - Guide
- Graphique excel - Guide
- Graphique sparkline - Guide
- Graphique camembert excel - Guide
- Planification de processeur graphique à accélération matérielle - Guide
3 réponses
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
26 août 2013 à 17:40
26 août 2013 à 17:40
Bonjour
une possibilité
https://www.cjoint.com/c/CHArMVJuFtD
Bonne suite
une possibilité
https://www.cjoint.com/c/CHArMVJuFtD
Bonne suite
Yrmouf
Messages postés
126
Date d'inscription
samedi 4 août 2012
Statut
Membre
Dernière intervention
22 septembre 2020
5
26 août 2013 à 17:01
26 août 2013 à 17:01
J'ai essayé comme piste:
Sub Remplacer()
'
' Remplacer
'
Dim i
i = Range("AQ1").value+ 1 ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.SeriesCollection(1).XValues = "='N+PRINT'!$A$:$B$" &i
ActiveChart.SeriesCollection(1).Values = "='N+PRINT'!$C$:$C$"&i
ActiveChart.SeriesCollection(2).Values = "='N+PRINT'!$D$:$D$"&i
ActiveChart.SeriesCollection(3).Values = "='N+PRINT'!$E$:$E$"&i
ActiveChart.SeriesCollection(4).Values = "='N+PRINT'!$G$:$G$"&i
ActiveChart.SeriesCollection(5).Values = "='N+PRINT'!$H$:$H$"&i
ActiveChart.SeriesCollection(6).Values = "='N+PRINT'!$I$:$I$"&i
ActiveChart.SeriesCollection(7).Values = "='N+PRINT'!$J$:$J$"&i
ActiveChart.SeriesCollection(8).Values = "='N+PRINT'!$K$:$K$"&i
End Sub
Mais bon fonctionne seulement en rajout de lignes mais pas en décalage :(
Sub Remplacer()
'
' Remplacer
'
Dim i
i = Range("AQ1").value+ 1 ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.SeriesCollection(1).XValues = "='N+PRINT'!$A$:$B$" &i
ActiveChart.SeriesCollection(1).Values = "='N+PRINT'!$C$:$C$"&i
ActiveChart.SeriesCollection(2).Values = "='N+PRINT'!$D$:$D$"&i
ActiveChart.SeriesCollection(3).Values = "='N+PRINT'!$E$:$E$"&i
ActiveChart.SeriesCollection(4).Values = "='N+PRINT'!$G$:$G$"&i
ActiveChart.SeriesCollection(5).Values = "='N+PRINT'!$H$:$H$"&i
ActiveChart.SeriesCollection(6).Values = "='N+PRINT'!$I$:$I$"&i
ActiveChart.SeriesCollection(7).Values = "='N+PRINT'!$J$:$J$"&i
ActiveChart.SeriesCollection(8).Values = "='N+PRINT'!$K$:$K$"&i
End Sub
Mais bon fonctionne seulement en rajout de lignes mais pas en décalage :(
bonjour
un idée mettre une varriable
Nsem = 44
ou
Nsem = Range("A1").Value
"='N+PRINT'!$A$" & Nsem & ":$B$72"
A+
Maurice
un idée mettre une varriable
Nsem = 44
ou
Nsem = Range("A1").Value
"='N+PRINT'!$A$" & Nsem & ":$B$72"
A+
Maurice
Yrmouf
Messages postés
126
Date d'inscription
samedi 4 août 2012
Statut
Membre
Dernière intervention
22 septembre 2020
5
26 août 2013 à 17:47
26 août 2013 à 17:47
Bonjour,
Visiblement il y a une rupture d'instructions au niveau de ":$B$72", merci tout de même
Visiblement il y a une rupture d'instructions au niveau de ":$B$72", merci tout de même
26 août 2013 à 18:18
https://www.cjoint.com/?3HAsrX4vZ7N
bonne suite
27 août 2013 à 11:18
Par ailleurs je cherche à comprendre le code:
Public Function Deca7(ByVal ss As String) As String
Dim t
t = Split(ss, "$") 'Séparation au niveau du $ mais que représente ss?
t(2) = Left(t(2), Len(t(2)) - 1) + 7 'Rajout de +7 aux lignes mais que le (2)?
t(4) = t(4) + 7 'Que représente le (4)?
Deca7 = t(0) & "$" & t(1) & "$" & t(2) & ":$" & t(3) & "$" & t(4) 'Compilation des nouvelles lignes
End Function
Private Sub btDec7_Click()
Dim ser As String, nuser As Long, nbser As Long, ts
With ActiveSheet.ChartObjects(1).Chart
nbser = .SeriesCollection.Count 'nb séries, compte le nombre de séries pour pouvoir faire décaler autant de séries qu'il y en a dans le graphique
For nuser = 1 To nbser 'nuser représente toutes les séries qui existent
ser = .SeriesCollection(nuser).FormulaLocal 'Récupération de la formule de =serie
ts = Split(ser, ";") 'séparation au niveau de la sélection des cellules pour obtenir les lignes
ts(1) = Deca7(ts(1)) 'utilisation de la macro plus haut pour décaler de 7 la première partie de séparation
ts(2) = Deca7(ts(2)) 'utilisation de la macro plus haut pour décaler de 7 la deuxième partie de séparation
ser = ts(0) & ";" & ts(1) & ";" & ts(2) & ";" & ts(3) 'compilation
.SeriesCollection(nuser).FormulaLocal = ser
Next nuser
End With
End Sub
Est-ce que cela est juste? Pourriez-vous apporter plus de précisions s'il vous plaît? Si vous voulez bien bien sûr.
Cordialement
27 août 2013 à 11:27
Un exemple est toujours plus clair :)
27 août 2013 à 15:03
Modifié par ccm81 le 27/08/2013 à 15:05
https://www.cjoint.com/c/CHBpeQSAbvv
bonne journée