bonjour,

j'ai un petit souci avec ce code, j'ai dans mon programme pres d'une 40aine de feuilles les numéros vont de 11 à 96 (tous les nombres ne sont pas utilisés)

de 1 à 44 tout fonctionne bien mais pour 45 j'ai l'erreur subcript out of range

voici mon 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
Public Sub MENU_CHART(i As Integer)
 
Dim T As Integer, H As Integer
 
T = 458
H = 228
 
    If (Worksheets(i) Is ActiveSheet) Then
'    If (Sheet12 Is ActiveSheet) Or (Sheet13 Is ActiveSheet) Or (Sheet14 Is ActiveSheet) Or (Sheet15 Is ActiveSheet) Or (Sheet16 Is ActiveSheet) _
'        Or (Sheet21 Is ActiveSheet) Or (Sheet23 Is ActiveSheet) Or (Sheet24 Is ActiveSheet) Or (Sheet25 Is ActiveSheet) Or (Sheet26 Is ActiveSheet) _
'        Or (Sheet27 Is ActiveSheet) Or (Sheet28 Is ActiveSheet) Or (Sheet29 Is ActiveSheet) Or (Sheet31 Is ActiveSheet) Or (Sheet32 Is ActiveSheet) _
'        Or (Sheet41 Is ActiveSheet) Or (Sheet51 Is ActiveSheet) Or (Sheet77 Is ActiveSheet) Then
        If Sheets("Stabilization").Range("D33").Text = "No" Then
            With Worksheets(i).ChartObjects("chart").CHART.SeriesCollection("C.G.").Points(1)
                .MarkerForegroundColorIndex = 1
                .MarkerBackgroundColorIndex = 3
                .DataLabel.Font.ColorIndex = 1
            End With
        ElseIf Sheets("Stabilization").Range("D33").Text = "Yes" Then
            With Worksheets(i).ChartObjects("chart").CHART.SeriesCollection("C.G.").Points(1)
                .MarkerForegroundColorIndex = 1
                .MarkerBackgroundColorIndex = 4
                .DataLabel.Font.ColorIndex = 1
            End With
        End If
 
        Worksheets(i).ChartObjects("chart").Top = T
        Worksheets(i).ChartObjects("chart").Height = H
 
    End If
 
End Sub
ya t'il un souci avec la déclaration du i? est ce bien integer qu'il faut utiliser?
ou autre chose?

merci pour vos réponses