Probleme d'etiquette de donnée

eizo

XLDnaute Nouveau
Bonjour,

Je suis a la recherche d'une solution pour le problème suivant:

Je voudrai dans un graphique generé par une macro, modifier l'axe des abscisse et faire pointer les valeurs en abscisse sur des cellule de mon tableau.

Voila la macro (que je n'ai pas crée)

Selection.CurrentRegion.Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("OF").Range("H32:H39"), PlotBy _
:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="OF"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Temps de production"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "OF"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Nb de jours"

End With

La macro genere l'histo suivant.
[FONT=&quot]
clip_image002.gif
[/FONT][FONT=&quot]
clip_image002.gif
[/FONT]Sans titre.png

Et ce que j'aimerais changer c'est 1,2,... en abscisse, et à la place, pointer des valeurs que j'ai dans une colonne.

Merci pour votre aide,

manu
 

Pièces jointes

  • Sans titre.png
    Sans titre.png
    7 KB · Affichages: 54
  • Sans titre.png
    Sans titre.png
    7 KB · Affichages: 57

Fred0o

XLDnaute Barbatruc
Re : Probleme d'etiquette de donnée

Bonjour eizo zt bienvenue sur le forum.

Pour ce que tu veux si par exemple tes étiquettes sont en colonne G, il te faut écrire :
Code:
ActiveChart.SetSourceData Source:=Sheets("OF").Range("G32:H39"), PlotBy:=xlColumns

Si par contre, elles sont en colonne F, tu écriras ceci
Code:
ActiveChart.SetSourceData Source:=Sheets("OF").Range("F32:F39;G32:H39"), PlotBy:=xlColumns
A+
 

eizo

XLDnaute Nouveau
Re : Probleme d'etiquette de donnée

Bonjour FredOo,
Merci pour la bienvenue.

J'ai integré la ligne que tu m'as donné mais cela ne marche pas. Il trouve une erreur (en rouge)
Range("B5").Select
Selection.CurrentRegion.Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("OF").Range("B32:B39;H32:H39"), PlotBy _
:=xlColumns

ActiveChart.Location Where:=xlLocationAsObject, Name:="OF"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Temps de production"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "OF"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Nb de jours"
End With

Dsl je ne suis vraiment pas expert.
A quoi sert la premiere ligne: Range("B5").Select Est-ce la plage de selection de toutes les données?

Ci-joint une partie du fichier excel, et ce que je cherche a faire, c'est de placer en absisse les numeros d'OF colonne B.
Par la suite je souhaiterai que les graph soit tries en fonction d'un critere colonne D (3 criteres en tous: cylindre, Top, Bottom donc 3 graph), est-ce possible?

Merci pour ton aide.
 

Pièces jointes

  • excel-dow.xls
    16 KB · Affichages: 47
Dernière édition:

eizo

XLDnaute Nouveau
Re : Probleme graph + condition

J'ai resolu une partie du probleme (J'ai les données que je veus en abscisse) grace a la macro suivante:
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("OF").Range("H52:H65"), PlotBy:= _
xlColumns
ActiveChart.SeriesCollection(1).XValues = "=OF!R52C2:R65C2"
ActiveChart.SeriesCollection(1).Name = "=""Temps de production"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="OF"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Temps de production"
.Axes(xlCategory, xlPrimary).HasTitle = False
'.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "OF"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Nb de jours "
End With
With ActiveChart
.HasAxis(xlCategory, xlPrimary) = True
.HasAxis(xlValue, xlPrimary) = True
End With
ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
ActiveChart.HasLegend = False
ActiveChart.HasDataTable = False
Windows("CP+cycles+taches.xls").SmallScroll Down:=3
End Sub
Cependant, j'aimerai rajouter 1 condition, je voudrai tracer uniquement les valeurs differentes de 0.
Puis, separer le graph en 3, en fonction de criteres présent en colonne B (il y aura 3 criteres uniquement Top - Bottom - cylindre)

Merci de votre aide.
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 611
dernier inscrit
sebboes