dave2047
Messages postés12Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 7 octobre 2005
-
12 janv. 2005 à 10:45
cs_bouchrabouchra
Messages postés10Date d'inscriptionjeudi 20 janvier 2005StatutMembreDernière intervention18 février 2005
-
21 avril 2005 à 16:44
voila je doi tracer un graphique 2d et mes plages de données sont sur la colonne 1 et la colonne 5, et ont une longueur dependant d'une variable.
vu que je debute sur vba, kkun pourrai prendre le tps de m'expliquer les lignes de commande à rentrer.
je suis sur vba6.
merci d'avance
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 12 janv. 2005 à 11:32
Le code ci-dessous devrait représenter un bon départ.
Sinon si tu as besoin d'autres propriétés du graphique, tu peux toujours enregistrer une macro qui enregistrera les modifs que tu fais manuellement.
J'ai mis un booléen lb_CreerGraphe.
Si lb_CreerGraphe = True, le code exécute le code pour la création d'un graphique.
Sinon il travaille sur le 1e graphe d'une feuille.
Option Explicit
Public Sub gsub_Test()
Dim l_ObjGraphe As ChartObject
Dim l_Graphe As Chart
Dim l_Courbe As Series
Dim ll_LigneDebut As Long
Dim ll_LigneFin As Long
Dim ls_SheetName As String
Dim lb_CreerGraphe As Boolean
If lb_CreerGraphe Then
'Création d'un graphe
Set l_Graphe = Charts.Add
Else
'Sélectionne le graphe de la feuille choisie
Set l_ObjGraphe = Worksheets(ls_SheetName).ChartObjects(1)
Set l_Graphe = l_ObjGraphe.Chart
End If
With l_Graphe
'Type de graphique
.ChartType = xlLineMarkers
If lb_CreerGraphe Then
'Ajoute une courbe
Set l_Courbe = .SeriesCollection.NewSeries
Else
'Travaille avec la 1e courbe
Set l_Courbe = .SeriesCollection(1)
End If
'Définit les plages de valeurs de la courbe
With l_Courbe
'Plage pour les abscisses
.XValues = _
"=" & ls_SheetName & "!R" & ll_LigneDebut & "C1:R" & ll_LigneFin & "C1"
'Plage pour l'ordonnée
.Values = _
"=" & ls_SheetName & "!R" & ll_LigneDebut & "C5:R" & ll_LigneFin & "C5"
End With
'Titre des abscisses
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Abscisses"
'Titre des ordonnées
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Ordonnées"
'Titre du graphique
.HasTitle = True
.ChartTitle.Text = "Mon graphe"
If lb_CreerGraphe Then
'Place le graphe dans la feuille voulue
.Location Where:=xlLocationAsObject, Name:=ls_SheetName
End If
End With
End Sub
dave2047
Messages postés12Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 7 octobre 2005 12 janv. 2005 à 15:15
voila en fait j"ai des valeurs aberantes dans mon tableau et j"aurai voulu savoir s"l etait possible de ne pa en tenir compte pour tracer le graphe (genre prendre que les points inferieur à x)
Vous n’avez pas trouvé la réponse que vous recherchez ?
dave2047
Messages postés12Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 7 octobre 2005 12 janv. 2005 à 15:31
g ossi un otre probleme, g une grande dispersion des points. est ce kil est possible de lisser le graphe obtenue meme si ce n'est pa une fonction usuelle ( c soi une courbe de couple soit une courbe de puissance)
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 12 janv. 2005 à 15:44
Dans ce cas, ça complique un peu la construction des plages de valeurs, car il faut construire ta plage en sous-ensembles séparés par des ";". Par exemple, si on veut enlever la 4e ligne, la plage est définie comme ceci :
Seriescollection(1).values = "Feuil1!R1C5:R3C5;Feuil1!R5C5:R6C5"
Il faut donc monter une mini usine à gaz qui permettra de construire cette chaine ci
"Feuil1!R1C5:R3C5;Feuil1!R5C5:R6C5"
(Ce qui n'est pas gagné d'avance, je l'avoue :( )
cs_bouchrabouchra
Messages postés10Date d'inscriptionjeudi 20 janvier 2005StatutMembreDernière intervention18 février 2005 21 avril 2005 à 16:44
Bonjour,
Je ne sais pas si je vais pouvoir vous expliquer mon problème. En fait je me connecte à une base de données à laquelle j'envoie une requête. Ensuite je stock les données qui m'intéresse dans deux tableaux, un pour l'axe des X et un pour l'axe des Y. Dans l'axe des ce sont des dates que je voudrais avoir sous le format dd/mm/yyyy h:m:s , mais en traçant le graph, excel m'envoie un message d'erreur.
Alors quelqu'un aurait une idée de comment faire svp c'est très urgent!!!!
merci