Supprimer un classeur Excel

Bonjour à tous !

Je rédige une macro me permettant de créer un graphique, jusque là tout va bien. Le graphique se créé sur une nouvelle feuille excel sans problème.

Ce qui m'embête c'est qu'à chaque fois que j'exécute la macro, une nouvelle feuille avec un nouveau graphique apparait. Cela me gêne car je me retrouve vite avec plein de graphiques, alors que je souhaite uniquement conserver le plus récent !

J'ai essayé de nommer cette nouvelle feuille (sans succès), de donner l'ordre de supprimer la feuille au début de ma macro, mais si elle n'existe pas déjà ça ne fonctionne pas...

Voici mon code :

 
'Sheets("Graph1").Select
'ActiveWindow.SelectedSheets.Delete --> ne fonctionne pas si mon graph 1 n'est pas déjà créé. De plus lors de la seconde excéution, le graph créé est désormais nommé graph2. Ainsi, lors de la troisième exécution, le système ne fonctionne plus :(

With WsD
        Set Plage = .Range(.Cells(77, 2), .Cells(.Cells(77, 2).End(xlDown).Row, .Columns.Count).End(xlToLeft))
   End With

   Set objChart = ThisWorkbook.Charts.Add
   objChart.ChartType = xlColumnStacked
   objChart.SetSourceData Plage, xlRows

   ActiveChart.ChartArea.Select
    ActiveChart.SeriesCollection(1).XValues = "=Recap!$C$64:$CP$64"
    ActiveChart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis)
    Selection.Caption = "Mois"
    ActiveChart.SetElement (msoElementPrimaryValueAxisTitleRotated)
    Selection.Caption = "ETPs"
    ActiveChart.SetElement (msoElementChartTitleAboveChart)
    Selection.Caption = "Plan de charge Technique groupé par famille"

Peut être qu'il faudrait donner un nom à la feuille créée (au moins comme ça pas de problème de graph1 graph2 graph3...) et mettre une instruction au début du code disant que si cette feuille existe déjà, alors il faut la supprimer... Qu'en pensez vous ?

J'ai un autre petit problème avec mon code : comme vous pouvez le voir, j'ai sélectionné l'échelle de l'axe des abscisses : de C64 à CP64. Néanmoins, ma colonne CP est susceptible de varier ! J'ai essayé une autre formule du type : mais sans succès :/

Voici ma formule qui ne fonctionne pas :

 ActiveChart.SeriesCollection(1).XValues = Range(.Cells(64, 3).End(xlDown))

Merci à tous ceux qui pourraient me donner un petit coup de main ! Merci et bonne journée !

Bonjour

Puisque tu veux garder le graph le plus récent, pourquoi faire une macro pour en refaire 1 à chaque fois.

Dessine le une fois pour toute et puis on crée un code ou une formule pour l'adapter automatiquement

Amicalement

Merci pour votre réponse et désolée du retard de la mienne.

J'ai finalement réussi en écrivant au début de ma macro

Sheets("Recap").Visible = True

et à la fin

Sheets("Recap").Visible = False

ce qui me permet donc d’exécuter ma macro en utilisant des feuilles cachées.

Rechercher des sujets similaires à "supprimer classeur"