OVH Cloud OVH Cloud

Protection des feuilles Excel

4 réponses
Avatar
NAVARRO Alain
Bonjour à tous,

je voudrais savoir comment réaliser les 2 opérations suivantes dans Excel en
passant par VBE :
- Protéger une cellule donnée par mot de passe
- Empêcher l'utilisation des fonctions copier / coller à l'ouverture du
fichier Excel

Merci !
--
AN

4 réponses

Avatar
michdenis
Bonjour Alain,

A ) Essaie ceci, en copiant ce code dans le module feuille où la cellule est située :
Tu peux adapter l'adresse de la cellule et définir les actions à réaliser !
'---------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim MotDePasse
MotDePasse = "Toto"
If Target.Address = Range("A1").Address Then
a = Application.InputBox("Votre mot de passe")
If a = "Faux" Then Exit Sub
If a = MotDePasse Then
'Ce qui doit se passer à définir
Else
MsgBox "mot de passe rejeté."
End If
End If
End Sub
'---------------------------------


B ) Empêcher le copier-coller
Cette proposition est valide seulement le copier-coller se fait dans le même classeur. Ceci n'empêche pas le copier-coller de ce
classeur vers un autre classeur ... faudrait préciser ta demande ...

Copie cette procédure dans le ThisWorkbook de ton classeur :
'----------------------------
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

Application.CutCopyMode = False

End Sub
'----------------------------


Salutations!



"NAVARRO Alain" a écrit dans le message de news:

Bonjour à tous,

je voudrais savoir comment réaliser les 2 opérations suivantes dans Excel en
passant par VBE :
- Protéger une cellule donnée par mot de passe
- Empêcher l'utilisation des fonctions copier / coller à l'ouverture du
fichier Excel

Merci !
--
AN
Avatar
Philippe
pour la protection (ex : password= toto):

Déprotéger :

Dim MyPassword as string
MyPassword="toto"
Sheets(1).Unprotect (MyPassword)

Protéger :
Dim MyPassword as string
MyPassword="toto"
Sheets(1).Protect (MyPassword)

Et seulement : Sheets(1).Protect si tu veux protéger sans mot de passe

Si je me souviens bien, l'aide Excel est trompeuse à ce sujet. J'ai aussi
cherché longtemps pour ce code si simple.





Bonjour à tous,

je voudrais savoir comment réaliser les 2 opérations suivantes dans Excel en
passant par VBE :
- Protéger une cellule donnée par mot de passe
- Empêcher l'utilisation des fonctions copier / coller à l'ouverture du
fichier Excel

Merci !
--
AN


Avatar
NAVARRO Alain
en fait je souhaiterai empêcher d'utiliser les fonctions copier coller d'une
feuille Excel vers une autre, enfin, si c'est faisable !
--
AN



Bonjour Alain,

A ) Essaie ceci, en copiant ce code dans le module feuille où la cellule est située :
Tu peux adapter l'adresse de la cellule et définir les actions à réaliser !
'---------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim MotDePasse
MotDePasse = "Toto"
If Target.Address = Range("A1").Address Then
a = Application.InputBox("Votre mot de passe")
If a = "Faux" Then Exit Sub
If a = MotDePasse Then
'Ce qui doit se passer à définir
Else
MsgBox "mot de passe rejeté."
End If
End If
End Sub
'---------------------------------


B ) Empêcher le copier-coller
Cette proposition est valide seulement le copier-coller se fait dans le même classeur. Ceci n'empêche pas le copier-coller de ce
classeur vers un autre classeur ... faudrait préciser ta demande ...

Copie cette procédure dans le ThisWorkbook de ton classeur :
'----------------------------
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

Application.CutCopyMode = False

End Sub
'----------------------------


Salutations!



"NAVARRO Alain" a écrit dans le message de news:

Bonjour à tous,

je voudrais savoir comment réaliser les 2 opérations suivantes dans Excel en
passant par VBE :
- Protéger une cellule donnée par mot de passe
- Empêcher l'utilisation des fonctions copier / coller à l'ouverture du
fichier Excel

Merci !
--
AN





Avatar
Ange Ounis
Dans le module ThisWorkbook du classeur qui t'intéresse :

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Application.CutCopyMode = False
End Sub

----------
Ange Ounis
----------

en fait je souhaiterai empêcher d'utiliser les fonctions copier coller d'une
feuille Excel vers une autre, enfin, si c'est faisable !