Bonjour,
J'ai toujours l'erreur "variable Objet ou variable de bloc With non définie" sur la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
FeuilleEnr.Name = FeuilleEnrString
malgré mes tentatives de modifications de la variable FeuilleEnr. Si quelqu'un peut m'aider, merci.

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
Option Explicit
'Variable drapeau de modif de la feuille
Dim ModifSheet As Boolean
 
'Variable qui contiendra le nom de la feuille qui a été modifiée
Dim FeuilleEnrString As String
 
'Variable qui contiendra l'objet feuille qui a été modifiée
Dim FeuilleEnr As Worksheet
 
 
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'ThisWorkbook.CustomViews("UserForm1").Show
 
'MsgBox "la valeur de ModifSheet vaut: " + CStr(ModifSheet)
 
'Test si une feuille a été modifiée, on indique la date de modif sur la feuille concernée
If ModifSheet = True Then
MsgBox "la valeur de FeuilleEnrString vaut: " + FeuilleEnrString
FeuilleEnr.Name = FeuilleEnrString
FeuilleEnr.Cells(1, 2) = Date
'Sh.Cells(1, 3) = Hour(Time)
End If
 
'Montrer le formulaire en mode non modal
ENR_Fichier.Show vbModeless
 
End Sub
 
 
Private Sub Workbook_Open()
'Variable drapeau de modif de la feuille
ModifSheet = False
'MsgBox "la valeur de ModifSheet vaut: " + CStr(ModifSheet)
End Sub
 
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
ModifSheet = True
'MsgBox "la valeur de ModifSheet vaut: " + CStr(ModifSheet)
'MsgBox "le nom de la feuille Sh qui a été modifiée est: " + Sh.Name
FeuilleEnrString = Sh.Name
'MsgBox "le nom de la feuille FeuilleENR qui a été modifiée est: " + FeuilleEnrString
End Sub