Hauteur de rectangle

Résolu
neophenix83 Messages postés 63 Date d'inscription samedi 9 avril 2005 Statut Membre Dernière intervention 4 mai 2007 - 21 sept. 2005 à 11:17
neophenix83 Messages postés 63 Date d'inscription samedi 9 avril 2005 Statut Membre Dernière intervention 4 mai 2007 - 21 sept. 2005 à 17:00
Bonjour,



Je veux encadrer un certains nombre de cellules avec un rectangle.
seulement, le nombre de mecs cellules bouge, et je dois dimensionner ce
rectangle.

Je recupere le hauteur de mes cellules (hauteurtotale obtenue en
prenant le rowheight de chaque cellule , et ensuite, pour dimensioner
mon rectangle, je fais:



ActiveSheet.Shapes("Rectangle 1").Select

Selection.ShapeRange.ScaleHeight hauteurtotale, msoFalse, msoScaleFromTopLeft



Seul PB, le "hauteurtotale" qui correspond à mes cellule ne donne pas
la bonne hauteur de rectagle....ca ne dois pas être la même facon de
mesurer.



Pourriez vous me dire comment dimensionner mon rectangle svp ?



merci

2 réponses

neophenix83 Messages postés 63 Date d'inscription samedi 9 avril 2005 Statut Membre Dernière intervention 4 mai 2007
21 sept. 2005 à 17:00
Je prefere placer un rectangle....

ca donne un effet de relief fort agréable visuellement.



sinon, j'ai fais ca:

ActiveSheet.Shapes("Rectangle 1").Select

Selection.ShapeRange.LockAspectRatio = msoFalse

Selection.ShapeRange.Height = hauteurtotale

Selection.ShapeRange.Width = largeurtotale

Selection.ShapeRange.Rotation = 0#



Ca a l'air de pas trop mal marcher....



Voilà.

Merci à vous.
3
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
21 sept. 2005 à 12:44
Bonjour,
Pourquoi ne pas untiliser les foctions d'encadrement de cellules d'Excel. Tu te places sur la cellules que tu veux encadrer et tu lance cette macro.Tu peux alors redimentionner les cellules encadrées, l'encadrement suivra.Si tu veux un cadre plus épais, remplace tous les xlMedium par xlThick, et plus fin par xlThin..

Sub EncadrerCellule()
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With

End Sub

jpleroisse

Si une réponse vous convient, cliquez Réponse Acceptée.
0
Rejoignez-nous