Bounjour, je cherche a generer un graphique sur VBA a partir d'une plage de donées de taille variable. Mon code se present en deux temps: traitement_feuille appelle une fonction " derniere_ligne" (qui trouve la derniere ligne de données) installe la colonne des temps puit genere un graph sur un nouvel onglet. Le probleme du code ci dessous est qu'il genere une incompatibiliée de type: erreur 13. Quel qu'un pourrait il m'aider? Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
Sub traitement_feuille(f_travail As Worksheet)
Dim num_ligne As Integer, t_travail As Worksheet
Dim myrange As Range
 
  'installe la colonne des temps
  f_travail.Activate
  f_travail.Cells(1, 1) = "Temps"
  For num_ligne = 2 To derniere_ligne(t_travail)
    f_travail.Cells(num_ligne, 1) = num_ligne - 2
  Next
  'graph
 
      'f_travail.Cells(1, 1).Select
      'Selection.CurrentRegion.Select
      Set myrange = ActiveSheet.Cells(1, 1).CurrentRegion
      'Charts.Add
      Application.CutCopyMode = False
      ActiveChart.ChartWizard _
          Source:=Sheets(f_travail).Range(myrange.Address), _
          Gallery:=xlXYScatterSmoothNoMarkers, Format:=4, PlotBy:=xlColumns, _
          CategoryLabels:=1, SeriesLabels:=1, HasLegend:=1, _
          Title:=f_travail, CategoryTitle:="", _
          ValueTitle:="", ExtraTitle:=""
 
 
End Sub
 
 
Function derniere_ligne(f_travail) As Integer
Dim num_col As Integer, num_ligne As Integer
 
  num_ligne = 0
  For num_col = 1 To ActiveSheet.Cells(1, 10000).End(xlToLeft).Column
    If ActiveSheet.Cells(100000, num_col).End(xlUp).Row > num_ligne Then
      num_ligne = ActiveSheet.Cells(100000, num_col).End(xlUp).Row
    End If
  Next
 
  derniere_ligne = num_ligne
End Function