Forme auto en vba (excel)
Résolu
daiman
Messages postés
41
Statut
Membre
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
Bonjour,
lors de la création d'un rectangle celui si porte le nom que lui atribué le programme exemple: "rectangle 6"
Pour des raisons compliqué à expliquer , je recrée à chaque ouverture du fichier ces rectangles avec une macro (auto_open).
Malheureusement le "rectangle 6" change de numéro à chaque ouverture et devient, par exemple, le "rectangle 7".
C'est là que je suis coincé car j'ai des macros qui se servent de ces numéros. Etant donnée que les rectangle ont changé de nom entre temps mes macro ne fonctionne plus. "Logique"
comment faire pour forcer un numéro de rectangle ou, encore mieu, lui donner un nom du genre "rectangle toto" à chaque ouverture et donc à chaque création?
merci d'avance
lors de la création d'un rectangle celui si porte le nom que lui atribué le programme exemple: "rectangle 6"
Pour des raisons compliqué à expliquer , je recrée à chaque ouverture du fichier ces rectangles avec une macro (auto_open).
Malheureusement le "rectangle 6" change de numéro à chaque ouverture et devient, par exemple, le "rectangle 7".
C'est là que je suis coincé car j'ai des macros qui se servent de ces numéros. Etant donnée que les rectangle ont changé de nom entre temps mes macro ne fonctionne plus. "Logique"
comment faire pour forcer un numéro de rectangle ou, encore mieu, lui donner un nom du genre "rectangle toto" à chaque ouverture et donc à chaque création?
merci d'avance
A voir également:
- Forme auto en vba (excel)
- Mise en forme conditionnelle excel - Guide
- Liste déroulante excel - Guide
- Mise en forme tableau word - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
1 réponse
Bonjour,
Shapes étant une collection tu peux utiliser la propriété Name:
nb = ActiveSheet.Shapes.Count 'numéro du dernier shape de la feuille active
MsgBox (ActiveSheet.Shapes(nb).Name) ' son nom
ActiveSheet.Shapes(nb).Name = "Rectangle1" ' modification de son nom
MsgBox (ActiveSheet.Shapes(nb).Name) ' son nom après modif
eric
Shapes étant une collection tu peux utiliser la propriété Name:
nb = ActiveSheet.Shapes.Count 'numéro du dernier shape de la feuille active
MsgBox (ActiveSheet.Shapes(nb).Name) ' son nom
ActiveSheet.Shapes(nb).Name = "Rectangle1" ' modification de son nom
MsgBox (ActiveSheet.Shapes(nb).Name) ' son nom après modif
eric