Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'
' Controle des cellules obligatoires avant enregistrement
' Controle si une des 2 cellules, soit Concerne ou Projet, et ou sont remplies
With Feuil02
If Application.CountA(.[Concerne], .[Projet]) = 0 Then
MsgBox "Remplir obligatoirement le(s) champ(s) CONCERNE et/ou PROJET, Merci"
Cancel = True
Sheets("Donnees").Select
Range("Concerne").Select
Exit Sub
End If
' Controle si la cellule Date du jour est remplie
If Range("Date1").Value = "" Then
MsgBox "Veuillez indiquer la date du jour"
Cancel = True
Sheets("Donnees").Select
Range("Date1").Select
Exit Sub
End If
' Controle si la cellule Société est remplie
If Range("Societe").Value = "" Then
MsgBox "Veuillez encore renseigner le nom de la SOCIETE"
Cancel = True
Sheets("Donnees").Select
Range("Societe").Select
Exit Sub
End If
' Controle si la cellule choix de Maitrise est remplie
If Range("Bat_2").Value = "" Then
MsgBox "Veuillez indiquer dans la section 'BATIMENT CONCERNÉ', le N° DU BÂT., si pas de bâtiment, mettre le chiffre 0 ou un espace dans le champ"
Cancel = True
Sheets("Donnees").Select
Range("Bat_2").Select
Exit Sub
End If
' Controle si la cellule choix de Maitrise est remplie
If Range("MT_Contact").Value = "" Then
MsgBox "Veuillez encore sélectionner la MAÎTRISE exécutante!"
Cancel = True
Sheets("Donnees").Select
Range("MT_Contact").Select
Exit Sub
End If
' Controle si la cellule de contact MT est remplie
If Range("Donnees!J20").Value = "" Then
MsgBox "Veuillez encore indiquer la personne de contact de MT!"
Cancel = True
Sheets("Donnees").Select
Range("Donnees!J20").Select
Exit Sub
End If
End With
' Permet l'enregistrement du fichier uniquement avec l'extension .xlsm
Dim varWorkbookName
If SaveAsUI = True Then
Application.DisplayAlerts = False
varWorkbookName = Application.GetSaveAsFilename(FileFilter:="Excel Macro Enabled Workbook (*.xlsm), *.xlsm", Title:=ThisWorkbook.Name)
If InStr(varWorkbookName, "\") > 0 Then ThisWorkbook.SaveAs Filename:=varWorkbookName, FileFormat:=52
Application.DisplayAlerts = True
Cancel = True
End If
End Sub