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 :

[VBA-E] Graphiques : dimensionnement/placement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut [VBA-E] Graphiques : dimensionnement/placement
    Bonjour à tous,

    Dans une de mes macros, j'ai besoin de créer un grand nombre de minigraphs.
    Ces graphs doivent etre positionnés et dimensionnés.
    Mais je n'arrive pas à placer/dimensionner car je butte :
    .top ou autre ne fonctionne pas avec ActiveChart
    Est ce que quelqu'un peut m'aider ?

    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
    Charts.Add
    ActiveChart.Location _
        Where:=xlLocationAsObject, Name:="Bilan"
    With ActiveChart
        .SetSourceData Range("B18:D20")
        .HasTitle = True
        .ChartType = xlColumnClustered
        .HasLegend = False
        .ApplyDataLabels Type:=xlDataLabelsShowValue
        .Axes(xlCategory).TickLabels.Orientation = xlHorizontal
        .ChartTitle.Font.Bold = True
        .ChartTitle.Font.Size = 12
        .PlotArea.Top = 0
        .PlotArea.Top = 20
        .PlotArea.Top = 100
        .PlotArea.Height = 300
        .Axes(xlValue).MaximumScale = 20
        '.Selection.Top = 200
        .ChartObjects.
        .Deselect
    End With
    Tant que j'y suis,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Axes(xlValue).MaximumScale = Automatic
    me donne une échelle abérante. Pourquoi ?

    Merci d'avance
    PS : Les questions me semblent idiotes mais je n'ai rien droivé pouvant m'aider ds les forums ...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut Graphique 2 : The Problème is ...
    C'est encore moi ...
    En fait j'arrive à redimensionner et déplacer mon graph avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.Shapes("Graphique 657").ScaleWidth 0.47, msoFalse, _
            msoScaleFromTopLeft
    Le problème c'est que j'ai beaucoup de graph différents et que les noms changent.
    Donc 2 solutions :
    -Imposer le nom (je n'y arrive pas mais travaille dans cette voie)
    -Utiliser la solution Activechart ...

    Voila, c'était pour etre plus explicite ...
    Je reste quand meme en attente d'une personne pouvant m'aider
    Merci d'avance

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    j'espère que ces infos pourront t'aider


    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
    Dim NbGraph As Byte
     
    Charts.Add 'ajout graphique
    With ActiveChart
        .ChartType = xlLine
        .SetSourceData Source:=Sheets("Feuil1").Range("A1:B10"), PlotBy:=xlColumns
        .Location Where:=xlLocationAsObject, Name:="Feuil1"
    End With
     
    'compte le nombre de graphiques dans la feuille
    NbGraph = ActiveSheet.ChartObjects.Count
    'le nouveau graphique correspond à l'index le plus élevé
    ActiveSheet.ChartObjects(NbGraph).Name = "Le nom du Graphique"
     
    'repositionne et redimensionne e graphique
    With ActiveSheet.ChartObjects("Le nom du Graphique")
        .Left = Range("E10").Left
        .Top = Range("E10").Top
        .Width = Range("E10:I10").Width
        .Height = Range("E10:E25").Height
    End With

    bon week end
    michel

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut Super
    Génial !!

    Je voulais à la base éviter de donner un nom au graph et placer le positionnement ds la commande With / End With

    Encore une dernière question : j'essaye de remplacer le "Range("D16).top" par "Cells(16,4).top et ca me produit une erreur ... Pourquoi et comment faire ?
    Merci

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(1, 5).Address)
    A+

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut Génial
    Merci beaucoup,

    Je retiens les astuces
    Surement à bientot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] Actualiser un Graphique aprés Placement des données
    Par beekeep dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 27/02/2015, 14h43
  2. [VBA-E]Graphique Excel
    Par shinobi dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/04/2006, 13h40
  3. [VBA-E] graphique avec plage de donnees variable
    Par gigs dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 03/04/2006, 14h50
  4. [VBA-E]Graphique
    Par kasjacques dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/03/2006, 17h56
  5. [VBA-E]graphique excel dans un userform
    Par alex_95 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/03/2006, 09h03

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