J'ai un petit problème de sélection de formes via VBA dans Excel. Je m'explique :
J'ai un onglet intitulé "Métadonnées" dans lequel j'ai fait une mise en page précise avec plusieurs formes (rectangles, ellipses, cadres ...). Chacune de ces formes possède un nom. Par exemple dans le code ci-dessous la forme sélectionnée MEPR1 correspond à Métadonnées (ME) Petit Rectangle (PR) 1 (c'est le premier de la page).
En appuyant sur mon bouton, une Userform s'ouvre où j'ai le choix entre 4 cases à cocher, chacune accompagnée d'un nom de couleur. Le code pour ma première case est le suivant :
Mon problème est que pour le moment ce code ne sélectionne qu'une forme et que j'aimerais bien pouvoir en sélectionner plusieurs en même temps (je ne veux pas toutes les sélectionner) en listant leurs noms.
J'ai déjà essayé :
Set shp = wks.Shapes("MEPR1" & "MEPR2")
Set shp = wks.Shapes("MEPR1"), wks.Shapes("MEPR2")
Mais ça ne marche pas.
Pour l'instant je réécris le code pour chaque forme de ma page mais vous comprenez que c'est assez long et qu'il y a sûrement mieux à faire.
Si vous avez donc des idées elles sont les bienvenues.
Option Explicit
Sub test()
Dim x(), i As Integer
x = Array("rectangle 1", "rectangle 2")
For i = LBound(x) To UBound(x)
Feuil1.Shapes(x(i)).Select i = LBound(x)
Next i
End Sub
Ce bout de code m'a l'air pas mal du tout cependant j'ai eu beau le triturer dans tous les sens j'ai pas réussi à le faire fonctionner =/
Cependant je le met de côté car je pense qu'il me sera très utile plus tard.
Option Explicit
Sub test()
Dim x(), i As Integer
x = Array("rectangle 1", "rectangle 2")
For i = LBound(x) To UBound(x)
Feuil1.Shapes(x(i)).OLEFormat.Object.Interior.Color = RGB(255, 0, 102)
Next i
End Sub