Macro VBA - Sélection de rectangle

Bonsoir Messieurs, Dames,

Je rencontre une difficulté actuellement, je n'arrive pas via VBA à sélectionner des shape (rectangle) pour les remplir avec une image.

J'ai réussi grâce à ce code (cf. ci-dessous) à sélectionner un rectangle et à le remplir d'une image.

ActiveSheet.Shapes.Range(Array("rectangle 33")).Select
With Selection.ShapeRange.Fill
.UserPicture "C:\Users\camille.l......PNG"
End With

J'aimerais pouvoir dupliquer cette fonction sur plusieurs feuilles, le problème est que le rectangle ("rectangle 33", "rectangle 23", "rectangle 25") ne porte pas toujours le même nom sur les différentes feuilles de mon classeur.

Y a t'il un autre moyen pour sélectionner ces formes ?

Dans le classeur que je joins, il y a 4 feuilles sur chacune d'entre elle j'aimerais pouvoir sélectionner le rectangle de couleur (ces rectangles étant normalement blanc).

SI je ne suis pas assez clair n'hésitez pas à demander des précisions.

Merci,

Camille

Bonsoir,

qui a créer ces rectangles ? Si c'est par code VBA il faut alors leur donner un nom, à savoir que sur une feuille plusieurs shapes peuvent avoir le même nom !

Après pour les sélectionner il suffit de faire une boucle sur l'ensemble des shapes, et vérifier leur nom, si ça correspond à celui qu'on recherche alors on y fait ce qu'il faut sinon on passe au suivant...

@ bientôt

LouReeD

Mais pourquoi ne pas utiliser les cellules du tableur pour votre présentation ?

@ bientôt

LouReeD

Les cellules ne sont pas du tout pratique car nous modifions la largeur des colonnes en permanence.

Les rectangles sont d'ors et déjà créés sur le modèle de base, ce n'est pas par code VBA.

Alors vous devriez nommer par avance vos rectangle de la même manière en fonction de leur position sur la présentation, comme cela en fonction du rectangle ciblé vous pourrez mettre l'image voulue.

Par exemple le rectangle "client" nommez le "client" comme cela dans le code il vous suffit de donner ce nom pour le cibler. et sur chaque feuille, chaque rectangle avec la même fonction portera le même nom. Et c'est simple, vous faites une présentation, en y mettant les noms voulus, puis un copier de l'ensemble et collage sur une nouvelle feuille, et voilà sur cette feuille la structure nominative des rectangles est identique !

Pour une gestion aisée des shapes je vous conseille d'ouvrir le volet de sélection, pour les renommer c'est plus simple.

@ bientôt

LouReeD

C'est parfait, c'est exactement l'info dont j'avais besoin, merci beaucoup !

Bonjour,

Merci pour vos remerciements !

@ bientôt

LouReeD

Rechercher des sujets similaires à "macro vba selection rectangle"