Ok. Voici ce que vous devez faire
- Supprimez la macro double click dans toutes les feuilles CLASSE
- Allez dans Thisworkbook et mettez le code ci-dessous
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim plage As Range
If stpevt = True Then Exit Sub
If Left(Sh.Name, 6) = "Classe" Then
Set plage = Union(Range("Z10:AB44"), Range("AD10:AE44"), Range("AG10:Ai44"), Range("AM10:AR44"), Range("T10:T44"))
If Not Intersect(Target, plage) Is Nothing Then
stpevt = True
Cancel = False
With Target
If IsEmpty(.Value) Then
.Font.Name = "Wingdings"
.Font.Size = 20
.Value = "ü"
Else: .Value = vbNullString
End If
End With
Cancel = True
End If
stpevt = False
End If
End Sub
- Une fois fait, faites un test.
Si ok, modifiez le code Private Sub Workbook_BeforeClose(Cancel As Boolean) comme ceci :
- Juste en dessous de Set shSynthese = ajoutez cette instruction --> stpevt = True
- juste avant le END SUB, ajoutez cette instruction --> stpevt = False
D'autre part, je mettrais l'instruction Application.screenupdating = False en début de code et remettre l'instruction à valeur True à la fin du code