Bonsoir,

J'ai créé un fichier qui génère plusieurs feuilles, et dans ces feuilles que je veux copier une procédure en particulier.

Donc pour cela j'ai mis dans ThisWorkbook la procédure suivante :

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
 
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim code As String
Dim NextLine As String
Dim NewSheet As Worksheet
Set NewSheet = Sheets(ActiveSheet.Name)
 
        'Imputation de la procédure dans une variable
        code = "Private Sub Worksheet_Change(ByVal Target As Range)" & vbCrLf
        code = code & "'Déclarations des variables" & vbCrLf
        code = code & "Dim strValeur As String" & vbCrLf
        code = code & "Dim varColor As Variant" & vbCrLf
        code = code & "" & vbCrLf
        code = code & "'Récupération de la valeur" & vbCrLf
        code = code & "strValeur = Cells(Target.Row, Target.Column).Value" & vbCrLf
        code = code & "" & vbCrLf
        code = code & "'Si la valeur n'est pas null" & vbCrLf
        code = code & "If strValeur <> """" and blnCreation = False Then" & vbCrLf
        code = code & "" & vbCrLf
        code = code & "     'Centrage de la valeur" & vbCrLf
        code = code & "     With Selection" & vbCrLf
        code = code & "         .HorizontalAlignment = xlCenter" & vbCrLf
        code = code & "         .VerticalAlignment = xlCenter" & vbCrLf
        code = code & "         .WrapText = False" & vbCrLf
        code = code & "         .Orientation = 0" & vbCrLf
        code = code & "         .AddIndent = False" & vbCrLf
        code = code & "         .IndentLevel = 0" & vbCrLf
        code = code & "         .ShrinkToFit = False" & vbCrLf
        code = code & "End Sub"
 
        With ThisWorkbook.VBProject.VBComponents(NewSheet.CodeName).CodeModule
            NextLine = .CountOfLines + 1
            .InsertLines NextLine, code
        End With
End Sub
Mon problème est que mon application plante sur la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ThisWorkbook.VBProject.VBComponents(NewSheet.CodeName).CodeModule
Auriez-vous une idée pour résoudre cela ?

D'avance merci
Nefertari