Positionner;dimensionner et remplacer un graphe sur une feuille

achaouac

XLDnaute Nouveau
bonjour a tous,

Je me retrouve dans une situation embarassante..:confused:

j'ai reussi a faire une macro vba pour mon graphique
mais le souci c'est que mes données source sont variables...

Dans ma macro je ne selectionne pas une plage...C'est beaucoup plus complexe...une ligne de ma plage de données comporte 2series pour obtenir a la fin des barres empilées dans un ordre précis..

j'essaye donc de commencer dans la macro par supprimer le graphe précedent si celui-ci existe (Celui-ci doit avoir un nom) et le remplacer par un nouveau graphe (la macro gere automatiquement les modifications de données sources)

Et s'il n'existe pas, de creer un nouveau graphe et lui donner un nom.

J'essaye aussi de placer le graphe issu de la macro dans une position precise.

reste a savoir si ce que je cherche est faisable avec excel vba:rolleyes:

Mon principal souci est la syntaxe pour ces deux taches la, a savoir "verifier la presence d'un graphe dans une feuille, le supprimer et placer le nouveau graphe a une position precise avec une taille precise"


j'ai essayé l'enregistreur de macro mais lorsque je deplace le graphe et je change ses dimensions, ces modifications ne sont pas codées...

Merci en avance pour votre aide....j'en ai vraiment besoin:(
 

Pierrot93

XLDnaute Barbatruc
Re : Positionner;dimensionner et remplacer un graphe sur une feuille

Bonjour Achaouac

regarde le code ci dessous si cela peut t'aider, place un graph sur la cellule B2, et le nomme :

Code:
Sub test()
Dim ch As ChartObject
If Feuil1.ChartObjects.Count = 1 Then
    MsgBox "graph existe"
    Feuil1.ChartObjects.Delete
End If
Set ch = Feuil1.ChartObjects.Add(Range("B2").Left, Range("B2").Top, 200, 100)
ch.Name = "mongraph"
End Sub

bonne soirée
@+
 

achaouac

XLDnaute Nouveau
Re : Positionner;dimensionner et remplacer un graphe sur une feuille

Bonjour pierrot,

Merci beaucoup deja pour ta reponse..Je voit deja un peu la syntaxe qu'il faut...

Mais le souci c'est que sur ma feuille il y a normalement 8 graphes...et ils peuvent etre mis a jour dans n'importe quel ordre...ils auront comme noms; Lundi,Mardi,mercredi...(deux vendredis)

j'ai continué a chercher et j'ai trouvé ceci: activesheet.chartobjects("Nomgrapphe")= true permettant de verifier s'il existe un graphe de ce nom sur une feuille...Mais cela ne marche pas chez moi...et puis ca ne me semble pas trés correcte..:confused:

Je te tiens au courant si je trouve une solution....
En meme pas n'hesite pas si tu as des idees...:)
 

Pierrot93

XLDnaute Barbatruc
Re : Positionner;dimensionner et remplacer un graphe sur une feuille

Bonjour Achaouac

regarde le code ci dessous, mais ne gère pas le cas de 2 vendredis...

Code:
Option Explicit
Option Compare Text
Sub test()
Dim ch As ChartObject, nomgraph As String
nomgraph = WeekdayName(Weekday(Date, 2), 0, 2)
For Each ch In Feuil1.ChartObjects
    If ch.Name = nomgraph Then MsgBox ch.Name & " existe": ch.Delete
Next ch
Set ch = Feuil1.ChartObjects.Add(Range("B2").Left, Range("B2").Top, 200, 100)
ch.Name = nomgraph
End Sub

bon après midi
@+
 

Discussions similaires

Réponses
2
Affichages
655

Statistiques des forums

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