OVH Cloud OVH Cloud

Dimension des formes

1 réponse
Avatar
Stephane
Bonjour, j'ai desiné une forme libre (constitué de 4 carrés superposés)
lorsque j'utilise la commande "Hauteur=Selection.ShapeRange.Height"
j'obtiens bien la hauteur de la forme libre Mais si je la fais tourner avec
la commande "Selection.ShapeRange.IncrementRotation 90" ou
"Selection.ShapeRange.Rotation =90" la commande
"Hauteur=Selection.ShapeRange.Height" que j'execute aprés l'une des 2
rotations me donne toujour la même valeure.Pourtant lorsque j'utilise la
commande "Valeur du Haut=Selection.ShapeRange.Top" et que je la fait suivre
d'un déplacement "Selection.ShapeRange.IncrementTop 15#" la commande
suivante"Valeur du Haut=Selection.ShapeRange.Top" a bien intégrer le
deplacement de 15!
j'utilise Excel 2002 sous Windows XP.
Merci de votre aide

1 réponse

Avatar
bourby
Bonsoir,

ce que tu décris me semble logique:
en effet, Rotation n'est pas une méthode (qui modifierait l'objet), mais
une propriété (comme p.ex. Visible). Tu comprends bien que la Hauteur de
la forme ne va pas être mise à zéro si on la cache (Visibleúlse). De
même, les créateurs de VBA ont décidé que Rotation allait modifier
l'affichage à l'écran, mais les dimensions de la forme sont inchangées.
C'est ce qui se passe si tu tournes un livre sur ton bureau: le côté
avec la reliure fait toujours la même longueur (heureusement).

Cordialement

Bourby

Stephane wrote:
Bonjour, j'ai desiné une forme libre (constitué de 4 carrés superposés)
lorsque j'utilise la commande "Hauteur=Selection.ShapeRange.Height"
j'obtiens bien la hauteur de la forme libre Mais si je la fais tourner avec
la commande "Selection.ShapeRange.IncrementRotation 90" ou
"Selection.ShapeRange.Rotation " la commande
"Hauteur=Selection.ShapeRange.Height" que j'execute aprés l'une des 2
rotations me donne toujour la même valeure.Pourtant lorsque j'utilise la
commande "Valeur du Haut=Selection.ShapeRange.Top" et que je la fait suivre
d'un déplacement "Selection.ShapeRange.IncrementTop 15#" la commande
suivante"Valeur du Haut=Selection.ShapeRange.Top" a bien intégrer le
deplacement de 15!
j'utilise Excel 2002 sous Windows XP.
Merci de votre aide