Bonjour,
j'ai des scripts qui me récupèrent quantité de données et les mettent en forme dans des classeurs excel.
Ces classeurs se présentent sous la forme suivante:
Une feuille par classeur
En général des données dans les plages A1 à L200 avec une ligne de titre.
En colonne A, des heures:minutes:secondes.
Les autres colonnes indiquent des chiffres divers (toujours des chiffres)
la dernière colonne contient la somme des chiffres de colonnes précédentes.
Je dois faire des graphiques afin de pouvoir présenter ces données.
Comme c'est un script powershell qui implante les données dans les classeurs, j'ai pensé qu'il serait bien d'automatiser la création des graphiques.
Le tout en powershell afin de pourvoir rajouter simplement un bout de code dans l'existant.
Il faut noter que je n'ai pas écrit les scripts de récupération des données et que après 15 ans d'informatique, c'est aujourd'hui mon baptême de powershell.
Mon problème est que quelle que soit la façon dont je déclare les champs à intégrer dans le graphique, toutes les données y sont systématiquement intégrées.
D'autre part, je ne parviens pas à positionner mon graphique ou je veux.
Voici ce que j'ai écrit:
la dernière partie précise le range de données à implanter dans le tableaux, j'ai testé les lignes dé commentées et les autres, le résultat est toujours le même, toutes les données sont affichées dans le graphique.
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 $excel= new-object -comobject excel.application $excel.Visible = $true $classeur=$excel.workbooks.open("c:\nombresessions.xls") $feuille=$excel.worksheets.item(1) $Chart = $feuille.Shapes.AddChart().Chart $Chart.ChartType = 4 $Chart.HasLegend = $false $Chart.HasTitle = $true $Chart.ChartTitle.Text = "Nombre de sessions" # A partir d'ici, c'est bizarre #$Chart.SeriesCollection(1).XValues = $feuille.Range($feuille.Cells.Item(2,1),$feuille.Cells.Item(121,1)) $Chart.SeriesCollection(1).XValues = $feuille.Cells("A2:A121") #$Chart.SeriesCollection(1).Values = $feuille.Range($feuille.Cells.Item(2,2),$feuille.Cells.Item(121,2)) $Chart.SeriesCollection(1).XValues = $feuille.Cells("B2:B121") #$RangePositionChart = $feuille.Range($feuille.Cells.Item(1,13),$feuille.Cells.Item(15,28))
Pour finir, je souhaiterais éventuellement ne visualiser que les données de la dernière colonne (les totaux).
Merci d'avance pour votre aide.
Partager