Bonjour à tous,
J'ai créé un fichier que je met à disposition sur le réseau de l'entreprise et qui doit rester intacte face aux fausses manipulations.
Les utilisateurs doivent remplir leur partie puis cliquer sur un bouton qui créé un autre fichier personnel dans leur C:
Mon problème est que j'aimerai inhiber l'enregistrement via la disquette dans la barre de commande, l'enregistrement sous et le Ctrl "S" jusqu'au démarrage de la macro (via bouton cité plus haut.
Il y a beaucoup de novice Excel dans l'entreprise et souhaiterai éviter la lecture seule, qui va faire, je pense, poser plein de question !
J'ai donc placé ces codes dans "ThisWorkbook"à l'ouverture :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ThisWorkbook.Saved = True 'Informe Excel que le fichier a déjà été enregistré (cela évite d'avoir une demande d'enregistrement à la fermeture)
End Sub
................. mais il faudrait que j'arrive à faire l'inverse avant le déclenchement de la macro !
Une personne bienveillante aurait elle une solution s'il vous plait ?
J'ai également ceci à l'ouverture dans This Workbook :
Private Sub Workbook_Open()
ActiveSheet.Unprotect
If Sheets("Données").[A32].Value <> "3" Then
Sheets("Données").Visible = True
Sheets("Données").Select
MsgBox "Pour commencer à utiliser ce fichier, remplissez obligatoirement les champs verts ci-contre :" & vbNewLine & Chr(13) & "1) Les champs Prénom et Nom." & vbNewLine & "2) Votre matricule (ID)" & vbNewLine & "3) L'adresse du destinataire principal est déjà renseignée par défaut (Vous pouvez la changer si besoin)" & vbNewLine & "4) Les champs CC (par exemple l'adresse mail de votre chef de service, ou la votre pour avoir une confirmation de l'envoi.", , "Bonjour,"
MsgBox "Vous pouvez également modifier les paramètres de fin d'envoi par défaut ci-dessus selon vos besoins.", , "Important"
MsgBox "Ceci fait, suivez les instructions inscrites sur le bouton se trouvant sous les données utilisateur.", , "Pour finir le paramétrage"
Range("B7").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=True
End If
If Sheets("Données").[A32].Value = "3" Then
If Sheets("S1").Visible = False Then
MsgBox "Fichier déjà utilisé antérieurement." & vbNewLine & Chr(13) & "Vérifiez ou changez vos données avant de poursuivre.", , "IMPORTANT"
MsgBox "A la question * Un fichier existe déjà à cet emplacement. Voulez-vous le remplacer? *" & vbNewLine & Chr(13) & "Répondez * OUI * et ciquez sur le bouton se trouvant sous les données utilisateur.", , "ENSUITE"
Range("H1").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=True
End If
End If
End Sub
C'est le bouton sous données utilisateur qui déclenche l'enregistrement de ce fichier avec un nom différent dans leur "C:"
Merci par avance.
@ toute.......