Probleme VBA la méthode 'ScaleType' del'objet 'Axis' à échoué

Fermé
Humades - Modifié par jordane45 le 10/02/2016 à 13:52
 Humades - 16 févr. 2016 à 10:29
Bonjour,

J'ai un soucis depuis quelques jours don't je ne trouve pas la solution.

J'ai un excel VBA qui me permet de générer des fichiers PDFS en faisant des graphiques à partir des données receuillis dans Excel.

Le mois dernier, j'ai change de posts, et depuis ce code ne passé plus avec comme erreur :

la méthode 'ScaleType' del'objet 'Axis' à échoué


 f.Activate

 Set dicoDate = CreateObject("scripting.dictionary")
 For i = 2 To nbligne
  RefDate = Left(Range("Y" & i).Value, 10)
  If Not dicoDate.exists(RefDate) Then
    dicoDate.Add RefDate, RefDate
  End If
 Next i

 nbdate = dicoDate.Count

 ReDim tabjob(nbdate)
 ReDim tabuser(nbdate)

 tabdate = dicoDate.Items
 For j = 0 To nbdate - 1
  For i = 2 To nbligne
   If Left(Range("Y" & i).Value, 10) = tabdate(j) Then
    tabjob(j) = tabjob(j) + 1
   End If
  Next i
 Next j

 g.Activate

 Range("W1") = "Date"
 Range("X1") = "NbJob"

 For i = 2 To nbdate + 1
   Range("W" & i) = tabdate(i - 2)
   Range("X" & i) = tabjob(i - 2)
 Next i

 Range("W1:X" & nbdate + 1).Select
 ActiveWorkbook.Worksheets("TCD").Sort.SortFields.Clear
 ActiveWorkbook.Worksheets("TCD").Sort.SortFields.Add Key:=Range("W2:W" & nbdate + 1), _
 SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
 With ActiveWorkbook.Worksheets("TCD").Sort
   .SetRange Range("W1:X" & nbdate + 1)
   .Header = xlYes
   .MatchCase = False
   .Orientation = xlTopToBottom
   .SortMethod = xlPinYin
   .Apply
 End With

 For i = 2 To nbdate
   If Range("W" & i + 1) <> Range("W" & i) + 1 Then
     Range("W" & i + 1 & ":X" & i + 1).Insert
     Range("W" & i + 1) = Range("W" & i) + 1
     Range("X" & i + 1) = 0
     nbdate = nbdate + 1
   End If
 Next i

 ActiveSheet.Shapes.AddChart.Select
 ActiveChart.SetSourceData Source:=Range("'TCD'!$W$1:$X$" & nbdate + 1)
 ActiveChart.ChartType = xlLine
 ActiveChart.SetElement (msoElementChartTitleAboveChart)
 ActiveChart.ChartTitle.Text = "Nombre de Job par jour"
 ActiveChart.ChartTitle.Characters.Font.Size = 14

'ici se trouve l'erreur
ActiveChart.Axes(xlCategory).MinimumScaleIsAuto = True

 ActiveChart.Axes(xlCategory).CategoryType = xlAutomatic
 ActiveChart.Axes(xlCategory).ReversePlotOrder = False
 ActiveChart.Axes(xlCategory).Crosses = xlMaximum
 ActiveChart.ChartStyle = 14
 ActiveChart.HasLegend = False
 With ActiveSheet.ChartObjects(7)
   .Left = Range("AA2:AJ15").Left
   .Top = Range("AA2:AJ15").Top
   .Width = Range("AA2:AJ15").Width
   .Height = Range("AA2:AJ15").Height
 End With

Merci d'avance pour votre aide, je ne m'y connais pas beaucoup en vba...


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

3 réponses

jordane45 Messages postés 38296 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 19 novembre 2024 4 704
10 févr. 2016 à 13:59
Bonjour,

1 - **** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.

2 - tu dis :

Le mois dernier, j'ai change de posts,

Tu veux dire.. de ... pc ??
Est-ce toujours la même version d'office ? (et quelle est la version justement ? 2007, 2010, 2013...??)

et sur quelle version étais tu avant ? (2003 ? )

0
Merci pour les informations sur la balise code.

En fait, c'est l'utilisateur qui a change de PCS. D'après lui, il n'a pas change de versions d'excel mais je pense qu'il était sur du 2003 (Il est dans une filiale en afrique).

Actuellement, il est sous excel 2007.
0
Petit up
0