J'ai pas mal cherché mais rien à faire...
je souhaite creer des courbes de façon auto (via macro) à partir d'un fichier multicolonnes.
La 1ere colonne sera toujours l'axe des x.
les autres colonnes sont des colonnes Y (des voies de mesure par exemple).
je souhaite donc creer 1 graphique par couple (1ere colonne, nième colonne Y), chaque graphique étant sur une feuille spécifique.
Si j'ai 6 colonnes, j'aurais donc au final 7 feuilles excel, la première contenant les données à tracer.
En fait, je n'arrive pas à combiner boucle for...next avec un balayage de la selection en cours:
Sub MultiXY()
Dim rngDataSource As Range
Dim iDataRowsCt As Long
Dim iDataColsCt As Integer
Dim iSrsIx As Integer
Dim chtChart As Chart
Dim srsNew As Series
Dim Nom_courbe As String
If Not TypeName(Selection) = 'Range' Then
'' Doesn't work if no range is selected
MsgBox 'Please select a data range and try again.', _
vbExclamation, 'No Range Selected'
Else
Set rngDataSource = Selection
With rngDataSource
iDataRowsCt = .Rows.Count
iDataColsCt = .Columns.Count
End With
'' Create the charts
For iSrsIx = 1 To iDataColsCt - 1
Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
Nom_courbe = 'Graph_' & iSrsIx
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=Nom_courbe
Set srsNew = ActiveChart.SeriesCollection.NewSeries
With srsNew
.Name = 'toto' & iSrsIx
.XValues = rngDataSource.Cells(1, 1) _
.Resize(iDataRowsCt, 1)
.Values = rngDataSource.Cells(iSrsIx + 1, 1) _
.Resize(iDataRowsCt, 1)
End With
Next
End If
End Sub
PS: ce source n'est pas de moi mais est dans le dompub.
Merci pour le coup de pouce en corrigeant (ou proposant auter chose).
Toutou