Commande excel avec Workbook_BeforeSave

Bonjour,

Avec Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Est-ce qu'il est possible d'empêcher les utilisateurs d'enregistrer par-dessus le fichier modèle sauf si la personne connait le mot de passe ?

Merci de votre aide.

3 réponses

  1. Bonsoir

    Pas besoin de passer par du VBA l'option est prévue par Excel

    Faire Enregistrer sous
    Donner un nouveau nom au fichier
    Cliquez en bas sur Outils puis Options générales
    Entrer le mot de passe

    Cdlmnt

    0
    1. En fait il faut que la personne puisse l'enregistrer sous un autre endroit.

      J'ai trouvé ceci qui pourrait m'aider.

      Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

      Dim Reponse As Variant

      Reponse = Application.InputBox("Entrez votre identifiant", "Autorisation", , , , , , 2)

      If VarType(Reponse) = vbBoolean Then
      Reponse = MsgBox("Fichier non sauvegardé, Réessayer ?", vbYesNo)
      If Reponse = vbYes Then ' L'utilisateur a choisi Oui.
      Reponse = Application.InputBox("Entrez votre identifiant", "Autorisation", , , , , , 2)
      If VarType(Reponse) = vbBoolean Then
      MsgBox "Modifications perdues...", vbOKOnly
      Cancel = True
      ElseIf StrComp(Reponse, "MDP") <> 0 Then
      Cancel = True
      End If
      Else ' L'utilisateur a choisi Non.
      Cancel = True
      End If
      ElseIf StrComp(Reponse, "MDP") <> 0 Then
      Reponse = MsgBox("Mot de passe érroné, Réessayer ?", vbYesNo)
      If Reponse = vbYes Then ' L'utilisateur a choisi Oui.
      Reponse = Application.InputBox("Entrez votre identifiant", "Autorisation", , , , , , 2)
      If VarType(Reponse) = vbBoolean Then
      MsgBox "Modifications perdues...", vbOKOnly
      Cancel = True
      ElseIf StrComp(Reponse, "MDP") <> 0 Then
      Cancel = True
      End If
      Else ' L'utilisateur a choisi Non.
      Cancel = True
      End If
      End If
      End Sub

      Mon seul problème est qu'il le lance à chaque fois j'essaie d'enregistrer je voudrais il me demande seulement si j'essaie d'enregistrer sous : "P:\Secrétariat et administration\Classeur1.xls"

      Merci de votre temps !
      0