Bonjour à tous,

Débutant sous vba, j'ai un petit problème je veux obliger les utilisateurs de mon fichier à activer les macros. Le problème ne se situe pas à l'ouverture du fichier (non pas dans le workbook_open), mais lorsque j'enregistre mon fichier et que je veux le ré ouvrir (donc je pense dans le before_close).
De plus dans mon before_close j'ai un contrôle qui oblige à remplir certaines cellules et je ne sais pas où placer le code. Merci de votre aide...

Code pour obliger à activer les macros :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 Private Sub Workbook_Open()
Dim curSheet As Worksheet
    For Each curSheet In ThisWorkbook.Sheets
        If curSheet.Name <> "FeuilleActivationDesMacros" Then curSheet.Visible = xlSheetVisible
    Next curSheet
ThisWorkbook.Sheets("FeuilleActivationDesMacros").Visible = xlSheetVeryHidden
End Sub
Before_close :

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
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 
Const Nb_lig As Integer = 4
Const Nb_col As Integer = 16
 
For l = 2 To Nb_lig
    For c = 7 To Nb_col
 
        If Sheets("RFQ 2013 Legs").Cells(l, c) <> "" And Sheets("RFQ 2013 Legs").Cells(l, c + 1) = "" Then
        MsgBox " The cell " & Cells(l, c + 1).Address & "  is empty ", vbCritical
        Cancel = True
        End If
    Next
Next
Exit Sub
 
 
ThisWorkbook.Sheets("FeuilleActivationDesMacros").Visible = xlSheetVisible
Dim curSheet As Worksheet
For Each curSheet In ThisWorkbook.Sheets
    If curSheet.Name <> "FeuilleActivationDesMacros" Then curSheet.Visible = xlSheetVeryHidden
Next curSheet
ThisWorkbook.Save
 
End Sub