Ma 1ere question : VB et creation courbe auto

toutou2base

XLDnaute Nouveau
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
 

CBernardT

XLDnaute Barbatruc
Bonsoir Toutou2base,

Je te propose un exemple.

A toi de l'adapter à ta base.

Cordialement

Bernard [file name=GraphiquesSelonBaseV1.zip size=20037]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/GraphiquesSelonBaseV1.zip[/file]
 

Pièces jointes

  • GraphiquesSelonBaseV1.zip
    19.6 KB · Affichages: 102

toutou2base

XLDnaute Nouveau
Bonsoir Bernard
merci pour ta réponse rapide.
je pense qu'il y a tout ce que je cherche dans la macro que tu me proposes.
par contre, malgré sa relative simplicité (mais efficacité), je ne pige pas tout:
1) avant exécution de la macro, n'y a-t-il que la feuille BASE dans le classeur?
2) pas besoin de selectionner la zone à traiter dans la feuille BASE avant de lancer la macro?

En fait, mon point de départ correspond à la feuille BASE seule dans mon classeur. Meme pas d'autres feuilles vides.
Lancer la macro devrait à la fois selectionner les 'extraits' à partir de BASE et creer lesnouvelles feuilles avec tableau extrait et graphique correspondant.

dernier petit coup de pouce et je customize ton exemple (et ça va me simplifier enormément la vie!).

A bientôt.

Toutou2base
Ps1: j'ai Excel MAC sous X SR1
PS2: ça coince chez moi quand j'y touche ici :
Lig = .Range('A10000').End(xlUp).Row

Message édité par: toutou2base, à: 25/11/2005 22:48

Message édité par: toutou2base, à: 25/11/2005 22:49
 

CBernardT

XLDnaute Barbatruc
Bonjour Toutou2base,

J'ai revu ma copie :

1- Le classeur contient une feuille 'BASE' et une feuille 'MODELE'. Celle-ci est masquée ;
2- Les feuilles précédentes sont supprimées ;
3- Les nouvelles feuilles sont crées et les données reportées ;
4- Les graphiques sont créés.

A toi d'adapter en fonction de ta base de données.

Quand au problème d'Excel MAC sous X SR1, tu dois modifier les bugs dûs au code VBA Excel 2003 PC afin que cela fonctionne. Sers-toi de l'enregistreur car je pense qu'une grosse partie doit être comprise.

Peut-être que certains forumeurs amateur de MAC et PC pourront t'apporter quelques aides ?

Cordialement

Bernard [file name=GraphiquesSelonBaseV1_20051126002616.zip size=23959]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/GraphiquesSelonBaseV1_20051126002616.zip[/file]
 

Pièces jointes

  • GraphiquesSelonBaseV1_20051126002616.zip
    23.4 KB · Affichages: 57

Discussions similaires

Réponses
28
Affichages
977

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16