Bonjour tout le monde,

Je commence à programmer sous VBE et je rencontre mes premières erreurs!

Je cherche à créer un graphique qui apparaitrait dans une autre feuille du même book. J'ai donc la feuille "Trend Curves" qui regroupe les données pour le graphique et un bouton (BtCurve)qui permet de tracer la courbe.

Voici le code:

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Public Sub BtCurve_Click()
 
Dim objChart As Chart, objRange As Range
Dim I As Integer, J As Integer, sMsg As String
Dim Rslt As Variant
Dim ESheet As Boolean
Dim NberSheet As Integer
 
    'Définition des constantes
EquipmentName = Worksheets("Trend Curves").Range("E41").Value
XTitle = Worksheets("Trend Curves").Range("M40").Value
YTitle = Worksheets("Trend Curves").Range("N40").Value
Title = YTitle & "=f(" & XTitle & ")"
 
    'Selectionne les données voulues
    Set objRange = Worksheets("Trend Curves").Range(Worksheets("Trend Curves").Cells(40, 14), Worksheets("Trend Curves").Cells(Rows.Count, 15))
 
    Set objChart = ThisWorkbook.Charts.Add
 
    'Vérification de l'existence d'une feuille du même nom
 
    ESheet = fExiste(Title)
    'MsgBox fExiste(Title)
 
    If ESheet = True Then
                Worksheets.Application.DisplayAlerts = False
                Sheets(Title).Delete
                objChart.Name = Title
                Worksheets.Application.DisplayAlerts = True
    Else
                objChart.Name = Title
    End If
 
    'Mise en page du graphique
 
    objChart.Tab.ColorIndex = 6
    objChart.ChartType = xlXYScatter
 
    objChart.SeriesCollection.Add objRange, xlColumns, True, True
 
    With objChart
        .HasTitle = True
 
        With .ChartTitle
            .Characters.Text = " " & EquipmentName & "      " & YTitle & " = f( " & XTitle & " )  "
            .Shadow = True
            .Border.Weight = xlHairline
 
        End With
 
        With .Axes(xlValue, xlPrimary)
            .HasTitle = True
            .AxisTitle.Characters.Text = " " & YTitle
 
        End With
 
 
        With .Axes(xlCategory)
            .HasTitle = True
            .AxisTitle.Characters.Text = " " & XTitle
 
        End With
 
    End With
 
End Sub
Mon problème se situe au niveau de la vérification de l'existence d'une feuille du même nom. Je fais appel à la fonction fExiste:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Public Function fExiste(SheetName As Variant) As Boolean
 
Dim Sheet As Excel.Worksheet
 
For I = 1 To Worksheets.Count
  Set Sheet = Worksheets(I)
  If Sheet.Name = SheetName Then fExiste = True Else fExiste = False
Next I
 
End Function
Mais je n'arrive pas à récupérer la sortie de la fonction qui reste toujours à Faux. Ca ne doit pas être trop compliqué mais je ne m'y connais pas et je rame...

Merci d'avance