Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Macro/débogage et protection de feuille

MarcoTsuki

XLDnaute Nouveau
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
 

MarcoTsuki

XLDnaute Nouveau
Bonjour

Merci pour votre réponse.

Le problème que j'ai c'est quelles ne sont pas obligatoires à remplir dans tous les cas, et s'ils cliquent sur le bouton exécutant la macro par erreur le fichier sera déverrouillé... ce qui est embêtant vu qu'il contient plusieurs données confidentielles
 

Oneida

XLDnaute Impliqué
Bonjour a vous deux,

MarcoTsuki

Est-il possible de dire simplement SI BUG protéger tout ?
Normalement oui.
quelles ne sont pas obligatoires à remplir dans tous les cas,
Si vous connaissez les cas ou elles doivent etre remplies, effectuez des tests en fonction et effectuez une sortie en fonction de ca

Destinataire ou l'Expediteur
Vous trouverez sur le net des fonctions qui testent le format @MAIL et en cas d'erreur, idem que precedemment
Ces @Mails pourraient etre dans une liste, ca eviterait pas mal de soucis
Pour les autres Macro, regardez ce qui pourrait poser probleme et idem que precedemment
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…