Positionnement de graphe (en VBA)

Le
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
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
garnote
Le #18430521
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"
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



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

"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



Pat
Le #18430741
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"
Je crois que c'est exactement cela
Merci Garnote d'avoir répondu si vite

"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







garnote
Le #18430891
"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"
Je crois que c'est exactement cela
Merci Garnote d'avoir répondu si vite

"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











garnote
Le #18430881
Dans ce cas essaie :

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

SErge


"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"
Je crois que c'est exactement cela
Merci Garnote d'avoir répondu si vite

"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











garnote
Le #18430871
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"

"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"
Je crois que c'est exactement cela
Merci Garnote d'avoir répondu si vite

"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















Pat
Le #18430861
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 ??
garnote
Le #18431101
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"
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 ??



garnote
Le #18431351
Désolé Pat. je dois quitter de ce pas.
Vais regarder ça demain.

Bonne chance,
Serge


"Pat"
Voici le sub
encore merci

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



Publicité
Poster une réponse
Anonyme