Application.Caller et la propriété GroupName

Le
MichDenis
Bonjour,

Sur une feuille de calcul, lorsque l'on regroupe plusieurs "Shapes"
(commande menu contextuel -> grouper lorsque ces
dernières sont sélectionnées) , comment fait-on pour
obtenir le nom du Groupe ainsi formé si on affecte à ce groupe
une macro ?

Exemple : Dans Excel 2003, il y a la commande :

MsgBox Feuil1.Shapes(Application.Caller).ParentGroup.Name

sous Excel 2007, cette commande génère une erreurObtenez-vous
le même résultat ?

Est-ce que cette commande fonctionne sous les versions antérieures à 2003?
Est-ce que certains d'entre vous peuvent tester ?

Merci de votre collaboration
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
J
Le #19060431
Bonjour
J'ai une erreur 13 incompatibilité de type avec XL2000
Bon courage
J@@

MichDenis a écrit :
Bonjour,

Sur une feuille de calcul, lorsque l'on regroupe plusieurs "Shapes"
(commande menu contextuel -> grouper lorsque ces
dernières sont sélectionnées) , comment fait-on pour
obtenir le nom du Groupe ainsi formé si on affecte à ce groupe
une macro ?

Exemple : Dans Excel 2003, il y a la commande :

MsgBox Feuil1.Shapes(Application.Caller).ParentGroup.Name

sous Excel 2007, cette commande génère une erreur...Obtenez-vous
le même résultat ?

Est-ce que cette commande fonctionne sous les versions antérieures à 2003?
Est-ce que certains d'entre vous peuvent tester ?

Merci de votre collaboration






isabelle
Le #19060421
bonjour Denis,

ça fonctionne bien sur xl2002

http://cjoint.com/?ehw2ZzJv6t

isabelle

MichDenis a écrit :
Bonjour,

Sur une feuille de calcul, lorsque l'on regroupe plusieurs "Shapes"
(commande menu contextuel -> grouper lorsque ces
dernières sont sélectionnées) , comment fait-on pour
obtenir le nom du Groupe ainsi formé si on affecte à ce groupe
une macro ?

Exemple : Dans Excel 2003, il y a la commande :

MsgBox Feuil1.Shapes(Application.Caller).ParentGroup.Name

sous Excel 2007, cette commande génère une erreur...Obtenez-vous
le même résultat ?

Est-ce que cette commande fonctionne sous les versions antérieures à 2003?
Est-ce que certains d'entre vous peuvent tester ?

Merci de votre collaboration







Modeste
Le #19060931
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :

Exemple : Dans Excel 2003, il y a la commande :

MsgBox Feuil1.Shapes(Application.Caller).ParentGroup.Name

Est-ce que cette commande fonctionne sous les versions antérieures à
2003? Est-ce que certains d'entre vous peuvent tester ?



Ok sous Excel 2002
http://www.cijoint.fr/cjlink.php?file=cj200904/cijkzXIvEI.xls
MichDenis
Le #19060921
Merci à vous trois.

Avec un peu plus de tests, je viens de me rendre compte que des
commandes aussi simples que celles-ci ne fonctionnent pas avec
Excel 2007 avec des shapes du type :

"Rogner et arrondir un rectangle à un seul coin 6"
"Rogner un rectangle avec un coin du même côté 11"

C'est le nom qu'elles ont à leur création (je ne crois pas qu'elles
existent sous les versions précédentes sous cette appellation.
Elles sont créées en utilisant l'onglet du menu "insertion" /
section : "illustration" / Formes

Sous les autres versions d'Excel, elles portent le nom de "Forme automatique + Index"

Set s = Feuil1.Shapes(Application.Caller)
x = s.Name
y = Feuil1.Shapes(x).Name
MsgBox Feuil1.Shapes(y).Name


Par contre, des shapes comme : "Rectangle 7" et "Oval" ne causent
aucun problème avec les commandes déjà mentionnées
dans Excel 2007 même avec celle-ci.
MsgBox Feuil1.Shapes(Application.Caller).ParentGroup.Name

serait-ce qu'Excel à des shapes favorites ? Serait-ce que les Shapes
mentionnées appartiennent à une sous-catégorie qui m'est inconnue ?
Comment obtenir la liste des shapes avec lesquelles ces commandes
ne fonctionnent pas ?
Je ne sais pas.
Modeste
Le #19060911
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :
Avec un peu plus de tests, je viens de me rendre compte que des
commandes aussi simples que celles-ci ne fonctionnent pas avec
Excel 2007 avec des shapes du type :

"Rogner et arrondir un rectangle à un seul coin 6"
"Rogner un rectangle avec un coin du même côté 11"

C'est le nom qu'elles ont à leur création (je ne crois pas qu'elles
existent sous les versions précédentes sous cette appellation.
Elles sont créées en utilisant l'onglet du menu "insertion" /
section : "illustration" / Formes



;o)))
te restes plus alors qu'a les renommer en leur attribuant un nom personnalisé à ta façon ....
MichDenis
Le #19061081
Bonsoir Modeste,

Je viens de trouver l'explication.

Le nom d'une "Shape" peut avoir 30 caractères comme longueur maximale
or, les appellations par défaut que donne Microsoft à ces formes en ont 50.
C'est ça qui génère l'erreur. Les commandes de mon message précédent
fonctionnent très bien si je renomme ces shapes. L'interface de la feuille de
calcul tolère des noms que le code n'accepte pas.

Je savais que le nom des onglets des feuilles avait cette limite, mais ma
mémoire (si je l'ai déjà su) n'était pas au rendez-vous.

Ça fait quand même plus de sens comme cela ... mais donner à des "shapes"
d'un tel nom par défaut... c'est particulier !!! ;-)

Le cas d'exception qui te fait perdre un temps fou !
Publicité
Poster une réponse
Anonyme