Bonjour,
J'ai un fichier avec beaucoup de feuille et différentes Macro. Le fichier est protégé (feuille + Classeur).
Toutes mes macros enlèvent d'abord la protection et finissent en protégeant le fichier.
Le problème c'est qu'il se peut qu'une Macro "bug" suite à différents champs non rempli. Lorsque la fenêtre débogage apparait et qu'on y met fin, la macro ne s'étant pas executer entièrement, le fichier reste non protégé.
Est-il possible de dire simplement SI BUG protéger tout ? Un peu sur le même principe qu'une formule SIERREUR fait ça...
Exemple de Macro du fichier : (dans ce cas les bug peuvent être que le Destinataire ou l'Expediteur ne sont pas encore renseignés ou qu'il soient mal écrit exemple adresse mail sans @)
Sub DIS()
'
' Edition_DdeFinancement
' Création de la demande de financement au format PDF pour envoi, par courriel pour signature
'
Verrouillage = Range("Verrou")
Dossier = ChoixDossier
NomFichier = "\" & Range("Nom_PDF")
Chemin = Dossier & NomFichier & ".pdf"
ActiveWorkbook.Unprotect Password:=Verrouillage
Worksheets("Caution DIS").Visible = True
Destinataire = Range("Courieldismz")
Expéditeur = Range("NomCDmz")
Sheets("Caution DIS").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
Sheets("DDP 2").Select
Set olApp = CreateObject("Outlook.application")
Set olMail = olApp.CreateItem(olMailItem)
With olMail
.To = Destinataire
.Subject = "Demande suite à notre échange"
.Body = Range("Mailmz_L11") & Range("Mailmz_L12") & Range("Mailmz_L16") & Range("Mailmz_L13") & Range("Mailmz_L14") & Range("Mailmz_L15") & Expéditeur
.attachments.Add Chemin
.Send
End With
Worksheets("Page DIS").Visible = False
ActiveWorkbook.Protect Password:=Verrouillage, structure:=True, Windows:=False
MsgBox "Merci de vérifier que le message apparait bien dans les messages envoyés de votre messagerie OUTLOOK"
'
End Sub