Macro envahissante feuille excel à déprotéger

Fermé
Doraemon - Modifié par Doraemon le 31/05/2010 à 13:25
 Doraemon - 2 juin 2010 à 13:42
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.


A voir également:

3 réponses

Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
31 mai 2010 à 13:42
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
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
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
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
31 mai 2010 à 18:12
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
Je vois l'astuce pour contourner ce code d'ouverture !
Merci bien et bonne semaine,
Merci de ton aide

D.
0