Nommer suite de shape

  • Initiateur de la discussion Initiateur de la discussion Noopy123
  • 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 !

Noopy123

XLDnaute Junior
Bonjour,

J'ai une suite de shape rectangle qui se créé selon le code suivant :
VB:
x = ActiveCell.Row               ' définit la ligne de la cellule active
y = ActiveCell.Column           ' définit la colonne de la cellule active
For L = x To x + 5              ' 8 est le nombre de rectangles en X
    For C = y To y + 5          ' 5 est le nombre de rectangles en Y
        With Cells(L, C)
            ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left, .Top, .Width, .Height).Select
            Selection.ShapeRange.ShapeStyle = msoShapeStylePreset1
              
             End With
        
    Next C
Next L

J’aimerais pourvoir nommer les rectangles créés ,via ce code, avec la cellules dans lequel ils paraissent (sachant que la cellule est aléatoire en fonction de la cellule sélectionnée , ... Mais impossible de trouver la solution
Sinon a Default de leur donner les nom 1,2,3,4....

Merci par avance pour votre aide
 
Re

Dans ce cas, il suffisait d'adapter une de mes propositions
VB:
Sub Encadrez_Et_Nommez_Moi()
Dim c, shp
If TypeName(Selection) = "Range" Then
With ActiveSheet
    For Each c In Selection
    Set shp = .Shapes.AddShape(1, c.Left, c.Top, c.Width, c.Height)
    shp.Line.ForeColor.RGB = RGB(192, 0, 0)
    shp.Fill.ForeColor.RGB = RGB(255, 255, 255)
    shp.Name = "Rect_" & c.Address(0, 0)
    Next
End With
End If
End Sub
NB: Si tu joignais un fichier exemple, et plus d'explications concrètes, on avancerait plus vite 😉
 
Re

•>Noopy123 (AKA Leeya)
Juste pour ta gouverne...🙄
L'usage quand on multiposte sa question, c'est de le signaler simplement
(ou mieux avec un lien)
Et si tu veux connaitre, l'origine de cet usage, voir ici:
 
Re

•>Noopy123
Pas de réponse à la question 1) ?
🙄

Pour le reste: 6x6=36 😉
VB:
Sub Grille_Six_par_Six()
Dim c, Grille As Range, shp As Shape
If TypeName(Selection) = "Range" Then
Set Grille = Selection.Item(1).Resize(6, 6)
Grille.RowHeight = 50: Grille.ColumnWidth = 4.86
With ActiveSheet
    For Each c In Grille
    Set shp = .Shapes.AddShape(1, c.Left, c.Top, c.Width, c.Height)
    shp.Line.ForeColor.RGB = RGB(192, 0, 0)
    shp.Fill.ForeColor.RGB = RGB(255, 255, 255)
    shp.Name = "Rect_" & c.Address(0, 0)
    Next
End With
End If
End Sub
 
Non rien à repondre à 1), mea culpa ^^

Le code est top mais il ne correspond qu'à un seul cas de figure ( ce dessous l'userform utilisé avec les differentes formes crées ( des fois c'est 6*6, d'autre c'est 5*2, ...)
1587903186625.png

Le but est de faire apparaître dans l’ordre voulu par l'utilisateur les formes sélectionnée via optionbutton. C'est pour cela que je voulais rebondir sur le code cité dans le premier post car avec celui ci j'arrive à creer les formes presentées. Maintenant il ne me reste plus qu'a reussir à leur donner un nom ^^
 
Je suis en train de m'approprier ton code, par contre j'ai une petite question. J'aimerais redimensionner mes colonnes une fois les shapes créées. J'ai ajouté un placement xlFreeFloating afin que mes shapes ne bougent pas quand je redimensionne mes colonnes mais ca ne marche pas
Voila le code que j'ai voulu faire :
VB:
If TypeName(Selection) = "Range" Then
Set Grille = Selection.Item(1).Resize(2, 5)
Grille.RowHeight = 50: Grille.ColumnWidth = 6
With ActiveSheet
    For Each c In Grille
    Set shp = .Shapes.AddShape(1, c.Left, c.Top, c.Width, c.Height)
    shp.Line.ForeColor.RGB = RGB(192, 0, 0)
    shp.Fill.ForeColor.RGB = RGB(255, 255, 255)
    shp.Name = "Rect_" & c.Address(0, 0)
    shp.Placement = xlFreeFloating
Set Grille = Selection.Item(1).Resize(2, 5)
Grille.RowHeight = 50: Grille.ColumnWidth = 4.91
    Next
End With
End If
 
- 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
3
Affichages
665
Réponses
0
Affichages
459
Réponses
1
Affichages
520
Retour