redimensionner une shape [Résolu]

Messages postés
20
Date d'inscription
jeudi 29 juillet 2004
Dernière intervention
2 septembre 2004
- - Dernière réponse : SofieV
Messages postés
20
Date d'inscription
jeudi 29 juillet 2004
Dernière intervention
2 septembre 2004
- 30 août 2004 à 09:56
Bonjour,

j'ai un petit souci concernant la modification de shapes (ici des graphes) sous Excel...

Les graphes sont crées en automatique ...le problème est que si je veux les redimensionner automatiquement ma macro ne fonctionne que si je connais le nom de la shape??? Et comme je ne sais pas où trouver son nom(apparemment donné de manière automatique) ni comment la modifier je bloque pour le redimensionnement....

Est-ce qu'il est possible de renommer cette shape avec une variable utilisateur? Sinon où est-ce que je peux récupérer son nom...
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
106
Date d'inscription
mardi 13 juillet 2004
Dernière intervention
26 janvier 2005
3
Merci
Il doit en tout cas être au moins le graphique d'indice 1 et du coup avec ActiveSheet.Shapes(1) tu devrais l'avoir puis ensuite avec .Name le renommer comme tu veux (à essayer).

-------------------------------------------------
Débutant ... mais pas pour longtemps !

Merci Zigarn 3

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

Codes Sources a aidé 101 internautes ce mois-ci

Messages postés
106
Date d'inscription
mardi 13 juillet 2004
Dernière intervention
26 janvier 2005
0
Merci
Le mieux dans ce cas est de regarder le code généré par l'enregistrement d'une macro !
Dans mon cas, cela donne :
    ActiveSheet.Shapes("Graphique 1").ScaleWidth 1.16, msoFalse, msoScaleFromTopLeft
    ActiveSheet.Shapes("Graphique 1").ScaleHeight 1.33, msoFalse,  msoScaleFromBottomRight
ActiveSheet.Shapes("Graphique 2").ScaleWidth 1.29, msoFalse, msoScaleFromTopLeft
    ActiveSheet.Shapes("Graphique 2").ScaleHeight 1.26, msoFalse, msoScaleFromBottomRight

Donc il semblerais qu'il nomme les graphiques "Graphique X" dans leur ordre de création. Sinon, la propriété Name de tes objet Shapes peut être modifiée :
ActiveSheet.Shapes("Graphique 2").Name = "Mon Graphe à moi"
ActiveSheet.Shapes("Mon Graphe à moi").ScaleHeight 1.26, msoFalse, msoScaleFromBottomRight

Suffit d'essayer pour trouver.
-------------------------------------------------
Débutant ... mais pas pour longtemps !
Messages postés
20
Date d'inscription
jeudi 29 juillet 2004
Dernière intervention
2 septembre 2004
0
Merci
ça serait trop facile si ça marchait comme ça....même en redémarrant mon ordi je n'ai jamais "graphique 1" pour le premier graphique crée....
Messages postés
20
Date d'inscription
jeudi 29 juillet 2004
Dernière intervention
2 septembre 2004
0
Merci
Ok, ça fonctionne comme ça....merci!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.