Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Positionnement de graphe (en VBA)

11 réponses
Avatar
Pat
Bonjour,
lorsque je crée un graphe (un camembert mais ce n'est pas le sujet) je le
positionne comme ci-dessous :

ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveSheet.Shapes("Graphique 1").IncrementLeft 300# 'Position
horizontale du graphe
ActiveSheet.Shapes("Graphique 1").IncrementTop 700# 'Position verticale
du graphe

J'aurais voulu le positionner aprés les calculs qui sont sur le même onglet,
donc ci-dessus mes 300 et 400 sont au pifomètre.
Existe-il une manière de le placer après la dernière ligne de calcul ou
cellule (de toute manière je connais où se trouve le curseur) ?
La difficulté pour moi c'est que je ne sais pas paramétrer le 300 et le 700
dans mon exemple:

....IncrementLeft 300# 'Position horizontale du graphe
....IncrementTop 700# 'Position verticale du graphe

Merci pour votre aide

10 réponses

1 2
Avatar
garnote
Salut Pat,

Quelque chose du genre, peut-être :

Sub Position()
With ActiveSheet.Shapes("Graphique 1")
.Left = ActiveCell.Left
.Top = ActiveCell.Top + ActiveCell.Height
End With
End Sub


Serge


"Pat" a écrit dans le message de news: %
Bonjour,
lorsque je crée un graphe (un camembert mais ce n'est pas le sujet) je le positionne comme ci-dessous :

ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveSheet.Shapes("Graphique 1").IncrementLeft 300# 'Position horizontale du graphe
ActiveSheet.Shapes("Graphique 1").IncrementTop 700# 'Position verticale du graphe

J'aurais voulu le positionner aprés les calculs qui sont sur le même onglet, donc ci-dessus mes 300 et 400 sont au
pifomètre.
Existe-il une manière de le placer après la dernière ligne de calcul ou cellule (de toute manière je connais où se trouve
le curseur) ?
La difficulté pour moi c'est que je ne sais pas paramétrer le 300 et le 700 dans mon exemple:

....IncrementLeft 300# 'Position horizontale du graphe
....IncrementTop 700# 'Position verticale du graphe

Merci pour votre aide



Avatar
Pat
Je crois que c'est exactement cela
Merci Garnote d'avoir répondu si vite

"garnote" a écrit dans le message de news:
%
Salut Pat,

Quelque chose du genre, peut-être :

Sub Position()
With ActiveSheet.Shapes("Graphique 1")
.Left = ActiveCell.Left
.Top = ActiveCell.Top + ActiveCell.Height
End With
End Sub



Avatar
Pat
Lorque je fais juste avant :
ActiveSheet.Shapes("Graphique 1").Select
cela ne marche pas ? j'ai objet ou variable de bloc With non définie

"Pat" a écrit dans le message de news:

Je crois que c'est exactement cela
Merci Garnote d'avoir répondu si vite

"garnote" a écrit dans le message de news:
%
Salut Pat,

Quelque chose du genre, peut-être :

Sub Position()
With ActiveSheet.Shapes("Graphique 1")
.Left = ActiveCell.Left
.Top = ActiveCell.Top + ActiveCell.Height
End With
End Sub







Avatar
garnote
"Pat" a écrit dans le message de news:
Lorque je fais juste avant :
ActiveSheet.Shapes("Graphique 1").Select
cela ne marche pas ? j'ai objet ou variable de bloc With non définie

"Pat" a écrit dans le message de news:
Je crois que c'est exactement cela
Merci Garnote d'avoir répondu si vite

"garnote" a écrit dans le message de news: %
Salut Pat,

Quelque chose du genre, peut-être :

Sub Position()
With ActiveSheet.Shapes("Graphique 1")
.Left = ActiveCell.Left
.Top = ActiveCell.Top + ActiveCell.Height
End With
End Sub











Avatar
garnote
Dans ce cas essaie :

ActiveSheet.Shapes("Graphique 1").Select
With Selection
.Left = ActiveCell.Left
.Top = ActiveCell.Top + ActiveCell.Height
End With

SErge


"Pat" a écrit dans le message de news:
Lorque je fais juste avant :
ActiveSheet.Shapes("Graphique 1").Select
cela ne marche pas ? j'ai objet ou variable de bloc With non définie

"Pat" a écrit dans le message de news:
Je crois que c'est exactement cela
Merci Garnote d'avoir répondu si vite

"garnote" a écrit dans le message de news: %
Salut Pat,

Quelque chose du genre, peut-être :

Sub Position()
With ActiveSheet.Shapes("Graphique 1")
.Left = ActiveCell.Left
.Top = ActiveCell.Top + ActiveCell.Height
End With
End Sub











Avatar
garnote
Sous 2007, cette macro fonctionne :

Sub Position()
ActiveSheet.Shapes("Graphique 1").Select
With ActiveSheet.Shapes("Graphique 1")
.Left = ActiveCell.Left
.Top = ActiveCell.Top + ActiveCell.Height
End With
End Sub

Serge

"garnote" a écrit dans le message de news: %

"Pat" a écrit dans le message de news:
Lorque je fais juste avant :
ActiveSheet.Shapes("Graphique 1").Select
cela ne marche pas ? j'ai objet ou variable de bloc With non définie

"Pat" a écrit dans le message de news:
Je crois que c'est exactement cela
Merci Garnote d'avoir répondu si vite

"garnote" a écrit dans le message de news: %
Salut Pat,

Quelque chose du genre, peut-être :

Sub Position()
With ActiveSheet.Shapes("Graphique 1")
.Left = ActiveCell.Left
.Top = ActiveCell.Top + ActiveCell.Height
End With
End Sub















Avatar
Pat
Pardon j'ai Excel 2003
Danc ce dernier cas l'erreur est sur le : Left = ActiveCell.Left

je dois mal définir le .Select d'avant ??
Avatar
garnote
As-tu mis un . avant le Left ?
Si oui, tu peux toujours envoyer ton classeur
en tout ou en partie à l'adresse suivante :
http://www.cijoint.fr/

Serge


"Pat" a écrit dans le message de news: %
Pardon j'ai Excel 2003
Danc ce dernier cas l'erreur est sur le : Left = ActiveCell.Left

je dois mal définir le .Select d'avant ??



Avatar
Pat
Voici le sub
encore merci

http://www.cijoint.fr/cjlink.php?file=cj200901/cijw80wqLq.txt
Avatar
garnote
Désolé Pat. je dois quitter de ce pas.
Vais regarder ça demain.

Bonne chance,
Serge


"Pat" a écrit dans le message de news: %
Voici le sub
encore merci

http://www.cijoint.fr/cjlink.php?file=cj200901/cijw80wqLq.txt



1 2