TopLeftCell d'un graphique

job75

XLDnaute Barbatruc
Bonjour le forum,

Sur Win 10 - Excel 2013 j'ai rencontré un problème avec la TopLeftCell d'un graphique.

Apparemment c'est bien un objet Range mais sans toutes ses propriétés.

Par contre aucun problème avec la Shape du graphique.

Fichiers joints, avez-vous le même problème sur les autres versions Excel ?

Bonne journée.
 

Pièces jointes

  • TopLeftCell(1).xls
    78.5 KB · Affichages: 32
  • TopLeftCell(1).xlsm
    26.5 KB · Affichages: 42

cathodique

XLDnaute Barbatruc
Bonjour Job75,

Avec win7 64 bits et Excel 2010 32 bits, voici l'erreur rencontrée sur l'image.
JOB75.JPG

Bonne journée.
 

Roland_M

XLDnaute Barbatruc
Bien le bonjour tout le monde

même problème avec 2007

la solution:

remplacer: ChartObjects(1).TopLeftCell.Cells(1).Address 'bug

par ceci:

Sub Test2()
MsgBox ChartObjects(1).TopLeftCell.Address(Cells(1).Address)
End Sub


et : MsgBox ChartObjects(1).TopLeftCell.Offset(, 1).Address 'bug

par ceci:

Sub Test3()
MsgBox ChartObjects(1).TopLeftCell.Address(ActiveCell.Offset(, 1).Address)
End Sub


EDIT: réponse à Job (sa réponse qui suit)
effectivement, je pensais simplement qu'il fallait passer out l'erreur en question !
autant pour moi !
 
Dernière édition:

chris

XLDnaute Barbatruc
Bonjour

Même chose sur 2010.

Je pense que TopLeftCell est un unique repère de la position du graphique mais le graphique n'étant pas un objet constitué de cellules, ce n'est pas réellement un range.


L'explorateur d'objet ne lui associe pas de cells.

Il faut se référer à la feuille en dessous pour des offset ou autre
Code:
Dim macellule As Range
Set macellule = ActiveSheet.Range(ChartObjects(1).TopLeftCell.Address)

Edit : la raison de la différence entre shape et un graphique n'est cependant pas très logique
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Cher j:Db75,

Que penser de ceci ( ? ) :
Code:
Option Explicit
Sub Test_00()
    MsgBox ChartObjects(1).TopLeftCell.Address(0, 0) & "  -  " & ChartObjects(1).BottomRightCell.Address(0, 0)
End Sub
Mais ce n'est peut-être pas ce que tu cherches.

Bises à chris :) et job75 :)

A bientôt :)
 

job75

XLDnaute Barbatruc
Bonjour chris,

Teste donc ceci, il n'y a aucun problème, comme pour Test1 :
Code:
Sub Test5()
Dim c As Range
Set c = ChartObjects(1).TopLeftCell
c.Select
End Sub
Ici TopLeftCell renvoie donc bien un Range.

Edit : hello chère ânesse.

Ce que je cherche à comprendre c'est pourquoi TopLeftCell n'a pas toutes les propriétés d'un Range.

A+
 

chris

XLDnaute Barbatruc
Re, Coucou 00 :)
Bonjour chris,

Teste donc ceci, il n'y a aucun problème, comme pour Test1 :
Code:
Sub Test5()
Dim c As Range
Set c = ChartObjects(1).TopLeftCell
c.Select
End Sub
Ici TopLeftCell renvoie donc bien un Range.

Oui mais pas d'offset non plus... contrairement à macellule...

Comme dit dans l'edit de ma précédente réponse : je ne vois pas pourquoi il y a une différence de traitement entre graph et shape, mais l'explorateur d'objets donne bien une propriété cells à l'un et pas à l'autre.

Mais tout est loin d'être logique chez Microsoft...
 

Discussions similaires

Réponses
13
Affichages
511

Statistiques des forums

Discussions
312 329
Messages
2 087 333
Membres
103 519
dernier inscrit
Thomas_grc11