MDP et VBA

Bonjour,

j'ai mis un mdp sur une feuille.

quand je clique sur cette feuille (sans mdp) une macro s'opère :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  If Target.Count = 1 Then
    UserForm1.Show
  End If
End Sub

j'ai trouvé sur le forum deux lignes de code qui permette d'enlever le MDP pour que la macro fonctionne et remettre à la fin de la macro.

j'ai fais plusieurs essai et je n'y arrive pas !

merci d'avance

Francky

Bonjour

Essayes

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  If Target.Count = 1 Then
    ActiveSheet.Unprotect Password:="Mon mot de passe"
    UserForm1.Show
    ActiveSheet.Protect Password:="Mon mot de passe" 
  End If
End Sub

A toi de remplacer "Mon mot de passe" par le vrai mot

Mais pas sur que cela soit la bonne solution, car tu risques de travailler sur d'autres feuilles qui elles seront protégées

Si ce n'est pas ça

bon pas de souci pour les autres feuilles, si il faut je copierai le code dans des feuilles à venir, à moins qu'il soit plus judicieux de le mettre dans un module !

je te joins le fichier, car j'ai bien mis les lignes et ça fonctionne pas.

le mot de passe est "mdp"

Francky

Bonjour

A tester

Ce code est à placer dans le module ThisWorkbook

Private Sub Workbook_Open()
' Cette macro protège toutes les pages du classeur
' Seulement les macros peuvent modifier les données dans les pages protégées
' On peut sélectionner les cellules déverrouillées (utile dans la page Feuil1)
Dim I As Integer

  For I = 1 To Sheets.Count
   Sheets(I).Protect Password:="mdp", UserInterfaceOnly:=True
    Sheets(I).EnableSelection = xlNoRestrictions
  Next I
End Sub

Et dans le module de la page "Feuil1"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  If Target.Count = 1 Then
    UserForm1.Show
  End If
End Sub

Tu sauvegardes, fermes et ouvres le fichier

Merci Banza£i,

ça à l'air (et la musique) de fonctionner.

cordialement,

Francky

Rechercher des sujets similaires à "mdp vba"