Bonjour,
Voici mon projet :
Je souhaite regrouper sur une feuille de calcul des graphes qui ont été tracés sur des pages différentes. J'ai un code qui fonctionne mais sont défaut est d'être sensible à la résolution de l'écran sur lequel on travail. J'aimerais donc pouvoir redimensionner les graphes en les alignant sur les cellules et pas en fonction des pixels de mon affichage. Voici une partie de mon code actuel :
Ceci n'est peut être pas très parlant car c'est surement pas très propre et parce que ce code est appelé par un autre.
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 For i = 1 To n 'n est le nb total de graph et i le graph en cours Sheets(CStr(Workbooks(Fichier_macro).Sheets("save").Cells(10 + i, 1))).Select ActiveChart.Location Where:=xlLocationAsObject, Name:=Nom_f_regroup If i = 1 Then graphhaut = ActiveSheet.Shapes("Graphique " & CStr(i)).Height graphlarg = ActiveSheet.Shapes("Graphique " & CStr(i)).Width End If If Round(i / 2, 0) * 2 = i Then ActiveSheet.Shapes("Graphique " & CStr(i)).IncrementLeft graphlarg / 2 ActiveSheet.Shapes("Graphique " & CStr(i)).IncrementTop (-graphhaut / 2 + (i / 2 - 1) * graphhaut) Else ActiveSheet.Shapes("Graphique " & CStr(i)).IncrementLeft -graphlarg / 2 ActiveSheet.Shapes("Graphique " & CStr(i)).IncrementTop (-graphhaut / 2 + (i / 2 - 0.5) * graphhaut) End If Next i
Ce que je souhaiterais faire c'est que le premier graphe que je rapatrie sur la feuille de calcul se trouve sur les cellules A1 à F16, le deuxième sur les cellules G1 à L16, le troisième sur les cellules A17 à F32, le quatrième sur les cellules G17 à L32 et ainsi de suite... Mais je ne sais pas comment faire.
J'aurais pu contacter EDF mais je pense que vous êtes plus à même de m'éclairer sur ce problème.
Merci pour votre aide,
A+
Pur2000
Partager