Macro envahissante feuille excel à déprotéger

Doraemon -  
 Doraemon -
Bonjour,

Je travaille sur deux fichiers excel (2003) indépendants.
L'un est aussi utilisé par un autre département qui a créé une macro qui protège la feuille par un mot de passe. J'ai ce mot de passe, là n'est pas le problème.

Le problème, c'est que j'ouvre régulièrement les deux fichiers en même temps et que, je ne sais ni comment, ni pourquoi, la protection s'est retrouvée dans les deux fichiers !

Je résume, avant:
Fichier A: fait par moi, sans protection
Fichier B: fait par d'autres, avec protection

Maintenant: Fichiers A et B avec protection.

J'ai beau chercher la macro dans le classeur du fichier A, je ne le trouve pas. Elle est pourtant visible sans protection ou autre dans le fichier B.

Une idée comment débarasser le fichier A de sa protection macro?
Je vous remercie d'avance pour vos idées.

Cordialement
D.

3 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    Plusieurs raisons, voyons par élimination

    Tes deux fichiers ont il le même nom !
    Dans le fichier A as tu des codes macro, (Module, propriété feuille et Thiswokbook)

    Si dans la Thisworbook tu n'as rien il est possible d'écrire un code qui enléve le mot de passe à l'ouverture du fichier si tu connais ce mot de passe. Sinon par respect de l'auteur je te conseille de te rapprocher de lui pour l'obtenir.
    0
    1. Doraemon
       
      Salut Mike-31,

      Merci d'avoir pris le temps de me répondre.
      Les deux fichiers n'ont pas le même nom.
      ThisWorkbook du fichier A n'a aucune code.

      Je vais suivre ton conseil et copier le code du fichier B qui enlève le mot de passe (il y a le code de protection/déprotection dans le fichier B).

      Mais comment éviter ça à l'avenir ? Les fichiers ne partagent pourtant pas le même module. C'est là que se trouve le code du fichier B (Modules>Module1)

      D.
      0
    2. Doraemon
       
      Après essai, le code du fichier ne déprotège rien du tout !
      Je crains que la partie qui protège le fichier ne s'exécute quand même aussi.

      Le code ressemble à ça:

      Sub Proteger()
      Cells.Select
      'Déproteger la feuille
      Dim Feuil As Worksheet
      For Each Feuil In Sheets
      Feuil.Unprotect PassWord:="**"
      Next Feuil

      'Protéger la feuille
      Application.ScreenUpdating = False
      For Each Feuil In Sheets
      'Verrouille toute les cellules
      Feuil.Cells.Locked = True
      'Déverrouille les cellules vides
      Feuil.Cells.SpecialCells(xlCellTypeBlanks).Locked = False
      'Protège toutes les feuilles
      Feuil.Protect PassWord:="**", UserInterfaceOnly:=True, AllowSorting:=True, AllowFiltering:=True
      Next Feuil

      Range("A1").Select
      End Sub()

      Et la sub pour déprotéger est identique au code sous le commentaire 'Déproteger la feuille

      Une idée ?
      D.
      0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Ouvre le Visual Basic d'Excel, puis la Thisworkbook et colle ce code après avoir saisie le mot de passe à la place des deux ** de même entre parenthèse le numéro de la feuille concernée dans mon exemple pour la feuille1 (1)

    Le fichier se déprotégera à l'ouverture

    Private Sub Workbook_Open()
    Worksheets(1).Unprotect Password:="**"
    End Sub
    0
  3. Doraemon
     
    Je vois l'astuce pour contourner ce code d'ouverture !
    Merci bien et bonne semaine,
    Merci de ton aide

    D.
    0