Suppression d'un graphique sans en connaître le nom

bonjour, j'ai une petite question.

Voilà j'ai ici plusieurs tableau. J'aimerai pouvoir supprimer les premières lignes de 2 à 8, le tout en VBA.

capture

Le problème étant que si je supprime les lignes le graphique ne par pas et se supperpose avec l'autre. Donc j'essaie de supprimer séparrement le graphique des lignes.

Mais c'est là où je coince, vu que le graphique est fabriqué par une macro le nom change entre chaque nouveau graphique.

Et que si je veux supprimer ce graphique il me faut son nom.

exemple :

Sub BWAA()

    ActiveSheet.ChartObjects("Graphique 2").Activate
    ActiveChart.Parent.Delete
    Rows("2:8").Select
    Range("A8").Activate
    Selection.Delete Shift:=xlUp
End Sub

Donc j'aimerai savoir comment supprimer un graphique sans un connaître son nom.

Ou sinon comment supprimer toute une ligne avec les objets si trouvant (comme un copier collé qui copie toute la zone avec le graphique)

Merci,

Bonjour

C'est la macro qui fabrique le graphique qu'il faut changer afin de nommer ton graphique et donc être capable de le retrouver...

Le problème est que la macro créé un tableau à chaque lancement de celle-ci.

Si je met un nom les tableaux auront le mêmes et ils se supprimeront tous.

Mais si je fait une boucle qui s'incrémente à chaque fois et que je fasse en sorte d'avoir une variable de côté, tous se remettera à zéro à chaque fois qu'on fermera Excel.

Actuellement je suis sur la piste de sauvegarder une variable sous chaque graphique ce qui permettra d'incrémenter suivant le graphique précédent.

Mais si vous avez d'autre idées n'hésitez pas.

Finalement j'ai trouvé une réponse à ma question

La nuit porte bonheur.

Bref voici mon code :

Sub BWAA()
    Dim Image As Shape
    For Each Image In ActiveSheet.Shapes
        If Image.Type = msoPicture Then
        Image.Select
        End If
    Next
    Selection.Delete

    Rows("4:10").Select
    Range("A10").Activate
    Selection.Delete Shift:=xlUp
End Sub

J'ai donc transformé le graphique en Image (ce qui me sera utile dans la suite de la macro). Et donc je parcours tous les shapes (images dans mon cas). Et à la fin il s'arrête à la première que je supprime ensuite.

Je remercie les gros contributeurs de ce post 78chris et denis123.

Merci,

Bonjour

Il faut trouver une logique comme nommer un tableau ou un graphique d'après sa position : nom feuille et cellule angle par exemple... à adapter selon le contexte.

En aucun cas on ne doit garder les noms automatiquement proposés par Excel : Classeur1, Feuil1, Tableau1, Tableau croisé ...

Si nécessaire on peut utiliser une feuille masquée pour un compteur qui subsistera à la fermeture...

Rechercher des sujets similaires à "suppression graphique connaitre nom"