Autres [RÉSOLU] J'ai trouvé cette macro mais comment l'adapter à mon cas

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

un internaute

XLDnaute Impliqué
Bonjour le forum
Comme indiqué dans le titre je voudrais centrer ces 3 rectangles avec la macro que j'ai adaptée mais ça ne va pas à ce cas?
Merci pour vos éventuels retours
 

Pièces jointes

Bonjour,
Essaie :
VB:
Sub Centr()
  Dim Shp1 As Shape, Shp2 As Shape, Shp3 As Shape
  Set Shp1 = ActiveSheet.Shapes("Rectangle 30")
  Shp1.Left = ([K1].Left - Shp1.Width) / 2
  Set Shp2 = ActiveSheet.Shapes("Rectangle 32")
  Shp2.Left = (Shp1.Left - Shp2.Width) / 2
  Set Shp3 = ActiveSheet.Shapes("SeancesPlus")
  Shp3.Left = (Shp1.Width + Shp1.Left) + ([K1].Left - (Shp1.Width + Shp1.Left) - Shp3.Width) / 2
End Sub
Daniel
 
Salut à tous,
Si j'ai bien interprété le code existant, celui ci-dessous devrait convenir :
VB:
Sub CenterHorizontalementRectangle()
Const Inter = 30 ' Distance entre 2 shapes
Dim Zone As Long ' Largeur totale des shapes avec les inter Shapes
Dim X    As Long ' Left des shapes

    Zone = [Rectangle 32].Width + [Rectangle 30].Width + [SeancesPlus].Width + Inter * 2
    X = ([A1].MergeArea.Width - Zone) / 2
    [Rectangle 32].Left = X: X = X + [Rectangle 32].Width + Inter
    [Rectangle 30].Left = X: X = X + [Rectangle 30].Width + Inter
    [SeancesPlus].Left = X

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
455
Retour