Supprimer tous les graphes dans une feuille SAUF un!!!

achaouac

XLDnaute Nouveau
Bonjour à tous et à toutes,

C'est un souci que j'ai rencontré au début de mon projet et que j'ai contourné..Mais voila que ca reviens me hanter:(

J'ai un boutton sur ma feuille qui est affecté à une macro qui efface tous les graphes d'une feuille pour les mettre a jour...

Mon code est

if sheet4.chartobjects.count>=1 then
sheet4.chartobjects.delete
End if

Maintenant j'ai un graphe que j'ai fait sans macro...Son nom sous excel est Graphique271...Ce graphe je souhaite le garder...
J'ai donc essayer ce code, la logique y est je pense, mais pas la syntaxe:

if sheet4.chartobjects.count>=1 then
nb=sheet4.chartobjects.count
m=1
Do while nb<>m
if sheet4.chart(m).chartTitle like "Graphique271" then
m=m+1
Else
sheet4.chart(m).delete
m=m+1
end if
loop
End if


Si vous avez des idées n'hésitez pas s'il vous plait...Merci en avance pour votre aide:)
 

Creepy

XLDnaute Accro
Re : Supprimer tous les graphes dans une feuille SAUF un!!!

Bonjour le Forum, Achaouac,

Voici le code :

Code:
Sub Del_Graph()
Dim Boucle As Integer
If Feuil1.ChartObjects.Count >= 1 Then
    For Boucle = Feuil1.ChartObjects.Count To 1 Step -1
        If LCase$(Feuil1.ChartObjects(Boucle).Name) <> "chart 7" Then Feuil1.ChartObjects(Boucle).Delete
    Next Boucle
End If
End Sub

Remarques :
- Quand on delete quelque chose avec une boucle, on part toujours de la fin vers le début ca evite les erreur d'objet effacé et de n° de boucle invalide du coup
- VBA (version francais d'Office) prend le nom de graphique en "Chart" alors que dans Excel il affiche "Graphique"

@+

Creepy
 

Discussions similaires

Réponses
5
Affichages
259

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22