redimensionner une shape [Résolu]

SofieV 20 Messages postés jeudi 29 juillet 2004Date d'inscription 2 septembre 2004 Dernière intervention - 19 août 2004 à 16:49 - Dernière réponse : SofieV 20 Messages postés jeudi 29 juillet 2004Date d'inscription 2 septembre 2004 Dernière intervention
- 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
Zigarn 106 Messages postés mardi 13 juillet 2004Date d'inscription 26 janvier 2005 Dernière intervention - 30 août 2004 à 09:46
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Zigarn 106 Messages postés mardi 13 juillet 2004Date d'inscription 26 janvier 2005 Dernière intervention - 19 août 2004 à 17:38
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 !
SofieV 20 Messages postés jeudi 29 juillet 2004Date d'inscription 2 septembre 2004 Dernière intervention - 30 août 2004 à 09:42
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....
SofieV 20 Messages postés jeudi 29 juillet 2004Date d'inscription 2 septembre 2004 Dernière intervention - 30 août 2004 à 09:56
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.