IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Emplacement graphique VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 2
    Par défaut Emplacement graphique VBA
    Bonjour à tous,

    J'ai réaliser une macro qui génère un graphique à partir d'un TCD.
    Pour placer mon graphique à l'endroit désiré j'ai cette formule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.ChartObjects(1).Left = Range("D8").Left
    ActiveSheet.ChartObjects(1).Top = Range("D8").Top
    J'ai un autre TCD en dessous avec un graphique du même genre. J'ai donc le même code que pour le premier sauf qu'à la place de "D8" j'ai "D35"

    Quand j'active ma première macro pas de problème mon graphique se met bien en D8, par contre dés que j'active le 2ème il chevauche le 1er.

    J'ai donc pensé à les nommer et remplacer le (1) par le nom du graphique mais ca ne marche pas.

    Quelqu'un voit -il de quoi il pourrait s'agir?
    Merci

  2. #2
    Membre chevronné Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Par défaut
    J'imagine que dans la 2° procédure tu utilises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ActiveSheet.ChartObjects(2).Left = Range("D35").Left
    ActiveSheet.ChartObjects(2).Top = Range("D35").Top
    Quand tu dis qu'il chevauche le 1°: il se mets en D8 également ?

    Peux tu nous montrer tes 2 procédures ?

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 2
    Par défaut
    [Oui voila c'est exactement ca

    1ère procedure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.ChartObjects(1).Left = Range("D8").Left
    ActiveSheet.ChartObjects(1).Top = Range("D8").Top
    2ème procedure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ActiveSheet.ChartObjects(2).Left = Range ("D35").Left
    ActiveSheet.ChartObjects(2).Top = Range("D35").Top
    Quand je réalise la 2ème procédure le graphique se chevauche sur l'autre mais en décalé il n'est même pas en "D8" C'est ca que je trouve bizarre.

    J'ai essayé de nommer chacun de mes graph après Chart.add et mettre le nom attribué à la place du (1) et même chose pour le 2ème à la place du (2) Mais celà ne marche pas non plus

    Merci pour ton aide

  4. #4
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Option Explicit
     
    .....
    Dim Emplacement As Range
    Dim Graphe As ChartObject
    Dim sNomGraphe As String
     
        .....
        sNomGraphe = ActiveChart.Parent.Name
        Set Emplacement = ShDatas.Range("C4:P40")
        Set Graphe = ShDatas.ChartObjects(sNomGraphe)
     
        With Graphe
            .Left = Emplacement.Left
            .Top = Emplacement.Top
            .Height = Emplacement.Height
            .Width = Emplacement.Width
        End With
     
        Set Graphe = Nothing
        Set Emplacement = Nothing
        .....

  5. #5
    Membre confirmé Avatar de Currahee
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 157
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    ' ********************************************************
    ' Fonction permettant de placer un graphique dans une page
    ' ********************************************************
    Public Function Placer_Graphique(graphe As String, origine As Range, fin As Range)
     
        Dim x_origine As Single
        Dim y_origine As Single
     
        Dim largeur_graphe As Single
        Dim hauteur_graphe As Single
     
        x_origine = origine.Left
        y_origine = origine.Top
     
        largeur_graphe = fin.Left + fin.Width - x_origine
        hauteur_graphe = fin.Top + fin.Height - y_origine
     
        With ActiveSheet.Shapes(graphe)
            .Left = x_origine
            .Top = y_origine
            .Width = largeur_graphe
            .Height = hauteur_graphe
        End With
     
    End Function
    Placer_Graphique monChart.Parent.Name, Range("B2"), Range("I20")

Discussions similaires

  1. Graphique VBA: limite 256 series
    Par Lameth dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/05/2008, 01h37
  2. graphique VBA access
    Par sunwind dans le forum VBA Access
    Réponses: 1
    Dernier message: 21/10/2007, 11h45
  3. Redimensionnement échelle graphique VBA
    Par lololoic dans le forum Access
    Réponses: 7
    Dernier message: 09/01/2007, 11h07
  4. Graphique vba (automation via access)
    Par Celia1303 dans le forum Access
    Réponses: 1
    Dernier message: 22/12/2005, 17h54
  5. Emplacement graphique
    Par vanima dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 22/09/2005, 16h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo