Selection et ChartObject

tototiti2008

XLDnaute Barbatruc
Bonjour à tous,

J'ai un effet bizarre avec Selection et les graphiques
Je voudrais agir sur un objet sélectionné dans la feuille de calcul
Avec TypeName, il est possible de connaître son Type
Pour mon graphique il me renvoie "ChartObject" tout va bien

Cependant c'est un objet graphique fantôme, je m'explique :
si je met un point d'arrêt dans le code et que je place un espion express sur Selection, presque toutes les propriétés sont illisibles
Je n'accède donc pas à l'objet ChartObject en lui-même à travers Selection, je ne peux même pas lire son nom... difficile d'agir dessus dans ces conditions
J'ai essayé des trucs du type
For each Elt in Selection... et plantage direct

Ci joint un classeur pour afficher le typename du graphique
Observez-vous le même soucis ? Une idée pour accéder à l'objet sélectionné ?

Merci
 

Pièces jointes

  • Classeur1.xlsm
    17.1 KB · Affichages: 60
  • Classeur1.xlsm
    17.1 KB · Affichages: 61

job75

XLDnaute Barbatruc
Re : Selection et ChartObject

Bonjour Marc, le fil,

Pas trop suivi le fil mais voici ce que je comprends.

S'il y a au moins 2 graphiques sélectionnés on les étudie sans problème avec la boucle :

Code:
For Each Elt In Selection
Par contre avec un seul graphique pas moyen d'étudier la sélection...

Eh bien il suffit de créer un objet auxiliaire qu'on ajoute à la sélection :

Code:
Sub test()
Dim o As Object, Elt
If TypeName(Selection) = "Range" Then Exit Sub
Set o = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 0, 0, 0, 0)
o.Select False 'sélection multiple
For Each Elt In Selection
  If Elt.Name <> o.Name Then _
    MsgBox Elt.Name & " => " & Elt.Width & " x " & Elt.Height
Next
o.Delete 'suppression de l'objet auxiliaire
End Sub
Fichier joint.

A+
 

Pièces jointes

  • Sélections d'objets(1).xlsm
    24.8 KB · Affichages: 26

Discussions similaires

Réponses
43
Affichages
4 K

Statistiques des forums

Discussions
312 684
Messages
2 090 918
Membres
104 700
dernier inscrit
jecusin