Gestion de la taille des graphiques Excel VBA

FloM73 -  
 flom73 -
Bonjour,

J'ai fait un programme qui génère plusieurs graphiques mais ils se retrouvent tous empilés les uns sur les autres à une taille décidée par Excel. Comment faire pour :
- leur donner la taille que je veux (taille externe + taille de la zone du graphique) ?
- les ranger tous bien comme il faut les uns au dessous des autres ?

Par macro je n'arrive qu'à trouver des instructions qu'en relatif mais je voudrais leur donner toujours la même taille et la même place. Pour info en cas de besoin : j'ai 3 onglets avec chacuns 6 graphiques.

Question complémentaire :
Je donne le titre au graphique par programme et pour que ca soit plus beau j'aimerai sauter une ligne. Pour l'instant j'ai écrit : activechart....Titre = NomService & "-" & NomJour.
Y-a-t-il un code à mettre à la place du "-" pour avoir un saut de ligne ?

Si quelqu'un avait un peu de temps pour me répondre ce serait très gentil,
Florence.
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. flom73
     
    Bonjour,
    Je me suis dépatouillée comme j'ai pu. Ce n'est probablement pas la solution des puristes mais ça peut peut-être t'aider.

    J'ai créer mes graphiques puis les ai mis en forme 1 à 1 avec cette petite procédure :

    Sub TaillePositionGraphique(QuelleFeuille)
    Dim Cible As Integer
    Dim i As Integer

    For i = 1 To 7 'Appels les 7 graphiques Graphique1, Graphique2....C'est mieux de leur donner un nom plutôt que de prendre le nom Excel mais je ne sais pas faire.
    ActiveWorkbook.Sheets(QuelleFeuille).Select

    ' Positionne les graphiques
    Cible = 24 + (i - 1) * 11 'Calcule le numero de ligne ou je veux mettre chaque graphique
    ActiveSheet.Shapes("Graphique " & i).Left = Range("A" & Cible).Left 'Positionnement Horizontal
    ActiveSheet.Shapes("Graphique " & i).Top = Range("A" & Cible).Top 'Vertical

    'Definit la taille du graphique.
    ActiveSheet.Shapes("Graphique " & i).ScaleWidth 1.4, msoFalse, msoScaleFromTopLeft 'Largeur
    ActiveSheet.Shapes("Graphique " & i).ScaleHeight 1.2, msoFalse, msoScaleFromTopLeft 'Hauteur
    Next i
    End Sub

    Bonne soirée,
    Florence.
    3
  2. dantes88
     
    SAlut,

    As tu trouvé une solution car je voudrais faire la même chose et je bloque...

    merci
    0