Bonjour à tous,

j'ai commencé la programmation VBA Ecel depuis peu et là je bloque sur une erreur d'exécution 9 (l'indice n'appartient pas à la sélection).

Mon programme copie des onglets en leur attribuant un nom qui dépend d'une cellule préalablement remplie. Ensuite il faut remplir qqs cellules des nouveaux onglets.

Voici la programmation :

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
Sub Copie_Modele()
 
 
Dim lin As Long
Dim maliste As Range
Dim NomOnglet As String
 
'délaration du tableau qui va stocker le nom des onglets créés
 
Dim tabloNomOnglet() As String 'le tableau
Dim I As Integer ' le compteur
I = 0
 
 
'Déclaration des variables à recopier
 
'Client
Dim col_tab_Client As Long, lin_tab_Client As Long, col_FA_Client As Long, lin_FA_Client As Long
col_tab_Client = 5
lin_tab_Client = 3
col_FA_Client = 5
lin_FA_Client = 2
 
 
For lin = 31 To 500
 
ThisWorkbook.Sheets(1).Activate
 
If Cells(lin, 1) = "X" Then
 
NomOnglet = Cells(lin, 3).Value
Sheets("Modele").Copy , Before:=Sheets("Modele")
ActiveSheet.Name = NomOnglet
 
ReDim tabloNomOnglet(I)
I = I + 1
tabloNomOnglet(I) = NomOnglet
 
End If
 
Next lin
 
'remplissage des onglets
 
For I = 0 To UBound(tabloNomOnglet)
Sheets(tabloNomOnglet(I)).Select               'ERREUR ICI
 
With ActiveSheet
 
'Nom du client
Cells(lin_FA_Client, col_FA_Client) = Worksheets(1).Cells(lin_tab_Client, col_tab_Client)
 
 
End With
 
Next I
 
End Sub

Quelqu'un a une idée de mon erreur?

Merci d'avance !