déplacer un chartobject

  • Initiateur de la discussion Initiateur de la discussion loto
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

loto

XLDnaute Occasionnel
Salut,

J'utilise souvent un petit code qui me permet de faire suivre les boutons de commande sur mes feuilles:
With ActiveSheet
Ligne = ActiveWindow.VisibleRange.Row
Colonne = ActiveWindow.VisibleRange.Column
.Shapes("AutoShape 2").Top = Rows(Ligne).Top + 70
.Shapes("AutoShape 2").Left = Columns(Colonne).Left + 100
End With


Ce soir, j'aurais bien aimé faire la même chose avec des graphs mais impossible, il n'en veut pas!!
J'ai entrepris de renommer les graphs (au nom variable) par
dim grph as chartobject mais la simple transposition sur mon code ne fonctionne pas.

Clairement, je ne sais pas le faire!
Comment faire pour déplacer ces satanés graphs (c'est possible tout de même non?

Merci de m'aider
 
Re : déplacer un chartobject

re,

Je suis repartie de ton code, mais voici donc en entier, et il ne plante pas chez moi :

Code:
Sub toto()
    Ligne = ActiveWindow.VisibleRange.Row
    Colonne = ActiveWindow.VisibleRange.Column
        With ActiveSheet.ChartObjects("graphique 6")
            .Top = Rows(Ligne).Top + 70
            .Left = Columns(Colonne).Left + 100
        End With
End Sub

"graphique 6" est le nom du graphique avec lequel j'ai testé, adapte avec le nom de ton graphique à toi bien sûr.
Si non, un problème de version? je suis sur 2007, (toi .. on ne sait pas).

Cordialement,

mth
 
Re : déplacer un chartobject

Bonjour loto, Mireille🙂

le code de Mireille fonctionne également sous 2003... Mais attention, petite précision, si tu utilises "ActiveWindow" il ne faut pas que le graph soit sélectionné, auquel cas la fenêtre active serait bien évidement le graph et vba retournerait un message d'erreur...

bonne journée
@+
 
Re : déplacer un chartobject

Bonjour le fil, loto, mth, Pierrot93

Le code suivant fonctionne, même si le graphe est sélectionné.

Code:
 Sub b()
    Dim Cellule As Range
 
    With ActiveWindow.VisibleRange
        Set Cellule = Cells(.Row, .Column)
    End With
 
    With ActiveSheet.ChartObjects("graphique 1")
        .Top = Cellule.Top + 70
        .Left = Cellule.Left + 100
    End With
 
End Sub
A plus 🙂
 
Dernière édition:
Re : déplacer un chartobject

Bonjour,

J'ai analysé quand il plante (pas de bug, mais ça ne marche pas du tout) c'est sur : Private Sub Worksheet_SelectionChange(ByVal Target As Range) ou activate
Par contre je reconnais qu'en activant la macro à la main, ça marche

Qu'y a t'il donc de différent?
 
Dernière édition:
Re : déplacer un chartobject

Bonjour le fil, loto, mth, Pierrot93

Le code suivant fonctionne, même si le graphe est sélectionné.

Code:
 Sub b()
    Dim Cellule As Range
 
    With ActiveWindow.VisibleRange
        Set Cellule = Cells(.Row, .Column)
    End With
 
    With ActiveSheet.ChartObjects("graphique 1")
        .Top = Cellule.Top + 70
        .Left = Cellule.Left + 100
    End With
 
End Sub
A plus 🙂

Re, bonjour Soenda
sous 2003, si graph sélectionné, cette ligne renvoir un message d'erreur (1004):
Code:
With ActiveWindow.VisibleRange

erreur défini par l'appli ou par l'objet....

A noter le code de mireille fonctionne dans l'événement "SelectionChange" de la feuille....

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
460
Réponses
16
Affichages
2 K
Réponses
8
Affichages
1 K
Réponses
18
Affichages
2 K
Réponses
7
Affichages
1 K
Retour