Positionner;dimensionner et remplacer un graphe sur une feuille

  • Initiateur de la discussion Initiateur de la discussion achaouac
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

achaouac

XLDnaute Nouveau
bonjour a tous,

Je me retrouve dans une situation embarassante..😕

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🙄

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🙁
 
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
@+
 
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..😕

Je te tiens au courant si je trouve une solution....
En meme pas n'hesite pas si tu as des idees...🙂
 
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
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
590
Retour