Shapes dans VB Excel [Résolu]

Signaler
Messages postés
117
Date d'inscription
vendredi 22 avril 2005
Statut
Membre
Dernière intervention
26 juin 2007
-
Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
7 juin 2009
-
J'insert en automatique des images en utilisant des shapes.

j'ai 3 Shapes nommées Picture 1;Picture 2;Picture 3
et 2 autres nommées Autres 1; Autres 2
je selectionne les images Autres en utilisant dans la feuille courante:

ActiveSheet.Shapes("Autres 1").Select
et
ActiveSheet.Shapes("Autres 2").Select

j'aimerai savoir si une methode me permettait de selectionner des images sans passer tous sont nom en parametre, ainsi je pourrai selectionner toutes les images qui commencent par "Autres" comme par exemple Autres *

1 réponse

Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
7 juin 2009
5
Voila ce que je te propose pour démarrer.
Si tu veux gérer les caractères de type "*", il faut voir modifier la condition

Public Sub SelectShapes(a_Pattern As String)
Dim ls_Shape As Shape
Dim ltab_Shapes() As Variant
'Initialise le tableau de formes à sélectionner
ReDim ltab_Shapes(0)
'Parcourt toutes les formes de la feuille active
For Each ls_Shape In ActiveSheet.Shapes
'Si le nom de la forme commence par a_Pattern, on l'ajoute au tableau
If Left(ls_Shape.Name, Len(a_Pattern)) = a_Pattern Then
'Ajoute la forme au tableau
ltab_Shapes(UBound(ltab_Shapes)) = ls_Shape.Name
'Agrandit le tableau
ReDim Preserve ltab_Shapes(UBound(ltab_Shapes) + 1)
End If
Next ls_Shape
'Si le nb d'éléments dans le tableau est supérieur à 0, on sélectionne
If UBound(ltab_Shapes) > 0 Then
'On supprime le dernier élément du tableau, car la boucle ajoute une ligne vide
ReDim Preserve ltab_Shapes(UBound(ltab_Shapes) - 1)
'Sélectionne les formes présentes dans le tableau
ActiveSheet.Shapes.Range(ltab_Shapes).Select
End If
End Sub

Sub Macro2()
SelectShapes "Autres"
End Sub
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci