[RESOLU] problème placement segment

richert90

XLDnaute Occasionnel
Bonjour,

J'ai insérer des segments sur Excel avec VBA en dessous d'un GRAPHIQUE CROSIE DYNAMIQUE et j’aimerais pouvoir placer les 2 segments à un endroit précis.

J'ai essayer plusieurs méthode mais aucune ne marche:

Code:
 ActiveSheet.Shapes.Range(Array("C_LIB")).Select
    ActiveSheet.Shapes("C_LIB").IncrementLeft -130
    ActiveSheet.Shapes("C_LIB").IncrementTop 300
    ActiveSheet.Shapes.Range(Array("C_ID_VAL")).Select
    ActiveSheet.Shapes("C_ID_VAL").IncrementLeft 57.75
    ActiveSheet.Shapes("C_ID_VAL").IncrementTop 250

cette méthode n'est pas vraiment pratique...

Est-ce que quelque chose du genre
Code:
ActiveSheet.Shapes("C_ID_VAL").Left = Range("H2").Left
peut marcher ?

Merci d'avance

De plus autre petite question comment fait -t-on pour récupérer le nom d'un graphique croisé dynamique (souvent "Graphique 1") dans une variable? ou alors modifier ce nom lorsqu'on créer un graphique croisé dynamique?
Merci :)
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : problème langue (chart 1 , Graphique 1 VBA)

Bonjour richert

pour éviter une erreur due au nom du graphe, remplace
ActiveSheet.ChartObjects("Graphique 1").Activate

par:
ActiveSheet.ChartObjects(1).Activate

1 étant le numéro d'ordre du graphe sur la feuille, ( à adapter)

à+
Philippe

Edit: Bonjour PierreJean
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : problème placement segment

re,
De plus autre petite question comment fait -t-on pour récupérer le nom d'un graphique croisé dynamique (souvent "Graphique 1") dans une variable?

pour récupérer le nom du graphe dans la variable nomgraphe
nomgraphe=ActiveSheet.ChartObjects(1).Name

pour modifier le nom:
ActiveSheet.ChartObjects(1).Select
ActiveSheet.ChartObjects(1).Name= "nouveaunom"


à+
Philippe
 

richert90

XLDnaute Occasionnel
Re : problème placement segment

Merci pour ta réponse phlaurent55!

Quelqu'un a une idée pour pouvoir placer des segments sur une feuille Excel? (je pense que c'est considéré comme un objet donc peut être qu'on peut faire quelque chose du genre???:
Code:
ActiveSheet.Shapes("C_ID_VAL").Left = Range("H2").Left

Merci d'avance
 

Caillou

XLDnaute Impliqué
Re : problème placement segment

Oui, tu as tout à fait raison :
Ta question contient la bonne réponse
ActiveSheet.Shapes("Pays").Top = range("G5").Top
ou
ActiveSheet.Shapes("Pays").Left= range("G5").Left
en remplaçant Pays par le nom du segment

testé sous xl 2013

Caillou
 

Statistiques des forums

Discussions
314 012
Messages
2 104 532
Membres
109 063
dernier inscrit
rahimmcsaw