Afficher un diagramme et le deplacer avec une macro

Bonjour à tous.

Je viens demander de l'aide pour un truc qui parait simple mais me pose problème.
Via un USF je demande à l'utilisateur de rentrer des données elec et derrière je fais differents calculs. Une partie des résultats est afficher dans un tableau sur une feuille de calcul ( remplit automatiquememt). J'ai ensuite enregistré une macro qui selectionne les cellules et affiche un diagrame. ( macro que je j'appel quand le tab est remplit). Jusque la tous va bien cela fonctionne.
Mon problème est que le diagramme est vraiment petit. Je refais donc l'enregistrement pour le déplacer et l'agrandir. Et la cela ne marche plus ....

'Je vous joins le code de la macro sur fichier note

J'obtiens l'erreur ci-dessous.

Cette erreur est pour les ligne contenant : ActiveSheet.ChartObjects("Chart 1") ou ActiveSheet.Shapes("Chart 1").IncrementLeft 395.25

Il ne reconnait pas ce qu'il a lui meme remplit

J'ai remarqué que si je remplace Chart 1 par Chart 2 et que je lance une fois apres l'enregistrement cela marche, mais si je veux encore la relancer je vais devoir inqurémenter et mettre Chart 3. Donc bof ....
De plus si je mets juste : ActiveSheet.ChartObjects("1"), il selectionne et déplace le seul bp que j'ai sur la feuille.

Je cherche donc une façon me permettant à chaque lancement de positionner correctement le diagramme.

Merci d'avance !!

capture
8macro-diagramme.txt (384.00 Octets)

bonjour,

il faut ajouter "Chart" après le shapes

Sub Macro1()
     With ActiveSheet
          Set shp = .Shapes.AddChart2(227, xlLine, 400, 100, 500, 400) 'les 4 derniers chiffres sont left, top, width & height à ajuster
          shp.Chart.SetSourceData Source:=.Range("A8:G20")
     End With
End Sub

une variante, quand vous voulez le positionner avec I5 comme cellule a gauche et dessus

Sub Macro1()
     With ActiveSheet
          Set shp = .Shapes.AddChart2(227, xlLine, .Range("I5").Left, .Range("I5").Top, 500, 400)    'les 4 derniers chiffres sont left, top, width & height
          shp.Chart.SetSourceData Source:=.Range("A8:G20")
     End With
End Sub

Bonjour BsAlv ,

Merci pour votre réponse !

Votre code fonctionne et il répond a mon problème.

Rechercher des sujets similaires à "afficher diagramme deplacer macro"