Gestion de la taille des graphiques Excel VBA
FloM73
-
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.
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.
A voir également:
- Gestion de la taille des graphiques Excel VBA
- Comment réduire la taille d'un fichier - Guide
- Liste déroulante excel - Guide
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Word et excel gratuit - Guide
- Comment calculer la moyenne sur excel - Guide
2 réponses
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.
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.