Bonjour,
J'ai une macro qui me sélectionne un certain nombre de données avec
lesquelles je voudrais modifier un graphique. Cette sélection étant variable
je voudrais pouvoir écrire une ligne du genre suivant :
J'avais contourné le problème en supprimant ma feuille graph et en la
recréant à chaque fois que j'en avais besoin. Mais cela me supprime la macro
liée à cette feuille qui est activée lorsque je sélectionne l'onglet.
Dans ce cas est-il possible par macro de faire créer une nouvelle feuille
graph et de lui affecter une macro du style :
Private Sub Chart_Activate()
tata
end sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Alain CROS
Bonjour.
J'ai une macro qui me sélectionne un certain nombre de données avec lesquelles je voudrais modifier un graphique. Cette sélection étant variable je voudrais pouvoir écrire une ligne du genre suivant :
Tu peux à la fin de ta macro mettre une ligne comme ça. Charts("MonGraph").SetSourceData Selection dans la mesure ou MonGraph est une feuille graphique. Si ton graphe est incorporé dans la feuille de calcul : ActiveSheet.ChartObjects(1).Chart.SetSourceData Selection
J'avais contourné le problème en supprimant ma feuille graph et en la recréant à chaque fois que j'en avais besoin. Mais cela me supprime la macro liée à cette feuille qui est activée lorsque je sélectionne l'onglet. Dans ce cas est-il possible par macro de faire créer une nouvelle feuille graph et de lui affecter une macro du style : Private Sub Chart_Activate() tata end sub
Si tu veux faire comme ça, tu peux lancer ça à la fin de la macro qui effectue la selection.
Sub AjouteGraphSupprimeAncien() Dim Graph As Chart, MaRange As Range On Error Resume Next Application.DisplayAlerts = False Charts("MonGraph").Delete Application.DisplayAlerts = True On Error GoTo 0 Application.ScreenUpdating = False Set MaRange = Selection Set Graph = Charts.Add With Graph .ChartType = xlColumnClustered .Location Where:=xlLocationAsNewSheet .Name = "MonGraph" .SetSourceData MaRange End With MaRange.Parent.Activate Application.ScreenUpdating = True Graph.Activate Set Graph = Nothing Set MaRange = Nothing End Sub
Et dans le module ThisWorkbook
Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name = "MonGraph" Then MsgBox "Graphique " & Sh.Name End Sub
Alain CROS.
Bonjour.
J'ai une macro qui me sélectionne un certain nombre de données avec
lesquelles je voudrais modifier un graphique. Cette sélection étant variable
je voudrais pouvoir écrire une ligne du genre suivant :
Tu peux à la fin de ta macro mettre une ligne comme ça.
Charts("MonGraph").SetSourceData Selection
dans la mesure ou MonGraph est une feuille graphique.
Si ton graphe est incorporé dans la feuille de calcul :
ActiveSheet.ChartObjects(1).Chart.SetSourceData Selection
J'avais contourné le problème en supprimant ma feuille graph et en la
recréant à chaque fois que j'en avais besoin. Mais cela me supprime la macro
liée à cette feuille qui est activée lorsque je sélectionne l'onglet.
Dans ce cas est-il possible par macro de faire créer une nouvelle feuille
graph et de lui affecter une macro du style :
Private Sub Chart_Activate()
tata
end sub
Si tu veux faire comme ça, tu peux lancer ça à la fin de la macro qui effectue la selection.
Sub AjouteGraphSupprimeAncien()
Dim Graph As Chart, MaRange As Range
On Error Resume Next
Application.DisplayAlerts = False
Charts("MonGraph").Delete
Application.DisplayAlerts = True
On Error GoTo 0
Application.ScreenUpdating = False
Set MaRange = Selection
Set Graph = Charts.Add
With Graph
.ChartType = xlColumnClustered
.Location Where:=xlLocationAsNewSheet
.Name = "MonGraph"
.SetSourceData MaRange
End With
MaRange.Parent.Activate
Application.ScreenUpdating = True
Graph.Activate
Set Graph = Nothing
Set MaRange = Nothing
End Sub
Et dans le module ThisWorkbook
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "MonGraph" Then MsgBox "Graphique " & Sh.Name
End Sub
J'ai une macro qui me sélectionne un certain nombre de données avec lesquelles je voudrais modifier un graphique. Cette sélection étant variable je voudrais pouvoir écrire une ligne du genre suivant :
Tu peux à la fin de ta macro mettre une ligne comme ça. Charts("MonGraph").SetSourceData Selection dans la mesure ou MonGraph est une feuille graphique. Si ton graphe est incorporé dans la feuille de calcul : ActiveSheet.ChartObjects(1).Chart.SetSourceData Selection
J'avais contourné le problème en supprimant ma feuille graph et en la recréant à chaque fois que j'en avais besoin. Mais cela me supprime la macro liée à cette feuille qui est activée lorsque je sélectionne l'onglet. Dans ce cas est-il possible par macro de faire créer une nouvelle feuille graph et de lui affecter une macro du style : Private Sub Chart_Activate() tata end sub
Si tu veux faire comme ça, tu peux lancer ça à la fin de la macro qui effectue la selection.
Sub AjouteGraphSupprimeAncien() Dim Graph As Chart, MaRange As Range On Error Resume Next Application.DisplayAlerts = False Charts("MonGraph").Delete Application.DisplayAlerts = True On Error GoTo 0 Application.ScreenUpdating = False Set MaRange = Selection Set Graph = Charts.Add With Graph .ChartType = xlColumnClustered .Location Where:=xlLocationAsNewSheet .Name = "MonGraph" .SetSourceData MaRange End With MaRange.Parent.Activate Application.ScreenUpdating = True Graph.Activate Set Graph = Nothing Set MaRange = Nothing End Sub
Et dans le module ThisWorkbook
Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name = "MonGraph" Then MsgBox "Graphique " & Sh.Name End Sub