XL 2019 Comment créer en VBA des Shapes groupés?

  • Initiateur de la discussion Initiateur de la discussion njm504
  • Date de début Date de début

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 !

njm504

XLDnaute Nouveau
Bonjour à tous,
je cherche depuis un moment comment réaliser des shapes groupées par exemple 3 rectangles qui sont groupés lorsque la macro a terminé son exécution.

Par avance merci pour votre aide.
 
Solution
Re

Une version plus aboutie
(qui ne groupera que les rectangles de la feuille active)
Code:
Sub test_ok()
Dim tab_SHP() As Variant, i&, shp As Shape
With ActiveSheet
    ReDim tab_SHP(1 To .Shapes.Count)
        For i = 1 To .Shapes.Count
            If .Shapes(i).AutoShapeType = 1 Then ' 1=Rectangle
            tab_SHP(i) = .Shapes(i).Name
            End If
        Next
    Set shp = .Shapes.Range(tab_SHP).Group
End With
shp.Name = "TEST"
End Sub
L'interligne n'est pas paramétré, il est écrit en dur, c'est le nombre 15 :
VB:
s.Top = deby + (h + 15) * (i - 2)
Et qu'en as-tu pensé ?

Pour ma part, je quitte les racks ici.

Bonne continuation dans ton projet.
Très bonne macro encore plus épurée que la CINQUO et plus précise.
Je te remercie pour le travail réalisé.
Je te souhaite une très bonne soirée et ne pense plus au rack 😂
 
Re

@njm504
Je posais la question pour savoir si tu avais été curieux lors de tes tests ?
Et que tu avais vu qu'il y avait de l'Intellisense dans la macro ? 😉
Alors j'étais concentré sur un mix de ton travail et celui de Job75 et je t'avoue que je n'ai pas tout décortiqué mais déjà il est beaucoup plus complexe à comprendre. Il se compose d'une fonction différente de l'autre qui permet de paramétrer les Shapes et je ne sais pas pourquoi et comment cela fonctionne mais L et H sont inversés j'ai l'impression que l'on peut faire des plans à la vertical! ce qui serait pas mal pour le plan d'une rangée de face.

Pour les couleurs c'est magique, la macro crée une couleur différente à chaque rangée, trop fort.

Bon j'ai un peu les yeux qui se croisent ce soir je pense que je vais faire une pause. Mais je vais continuer à étudier ton code. Et je te ferais un retour.

Encore merci.
 
Re

Le petit plus était que tu peux faire ceci
Set s = Forme(msoShapeHexagon, 300, 20, , , , xCol)

Pour être plus clair, tu peux choisir la forme dans le code VBA
(Ca ne sert pas à grand chose dans ton projet, mais cela occupe mes dimanches pluvieux 😉)
Tu peux tester avec différentes formes, parfois c'est surprenant)
amusonsnous.png
 
- 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

  • Question Question
Microsoft 365 Formule Outlook,
Réponses
8
Affichages
113
Réponses
1
Affichages
346
Retour