Verouillage de cellules

S

Simon

Guest
Bonjour a tous,

J'ai un classeur qui utilise des macros
'lorsque lon clique sur un bouton, les cellules selectionnées se colorent, et un caractères s'affiche dedans...

plusieurs personnes vont utiliser ce classeur, et j'aimerais bloquer certaines cellules qui contiennent des formules afin que personnes ne les supprimes...
mais dès que je protège ma feuille...Mes macros ne marchent plus.....
en fait je voudrais par ex,proteger la colonne A, laisser la B aux utilisateurs, Bloquer la C, laisser la D, et ainsi de suite...Sans que cela n'affecte l'utilisation de mes macros...

Merci
 
D

David

Guest
Salut

Avant de proteger ta feuille, tu doit d'abord déverrouiller les cellules que tu veux laisser aux opérateurs.
Pour cela va dans le format des cellules --> protection --> puis décoche la case.

Et normalement c'est bon, voila bonne chance

David
 

JYLL

Nous a quitté
Repose en paix
Bonjour Simon David,

Tu sélectionnes toute la feuille, puis tu cliques sur 'Format' 'Cellules' 'Protection' tu décoches 'Vérouillée'.

Tu sélectionnes toutes les colonnes que tu veux vérouiller, puis tu cliques sur 'Format' 'Cellules' 'Protection' tu coches 'Vérouillée' et même 'Masquée'.

Maintenant tu vas dans 'Outils' 'protection' 'Protéger la feuille'

tu mets un mot de passe ou pas et tu cliques sur 'OK'; Si tu mets un mot de passe, ne l'oublies pas.

Bon test; Amicalement.

JYLL
 
S

Simon

Guest
Salut et merci

Mais j'avais deja testé tout ça...et malheuresement mes macros ne repondent plus une fois la feuille protégé, Certaine colonnes reste entierement libre d'accès (je peux effectivement toujours entrer des données dans les cellules, non verrouillées, mais pas avec mes macros........)...

Je suis bien coincé...

Merci
 

Law

XLDnaute Junior
Bonjour Simon, JYLL, David, le forum,

Il faut que dans ta macro au début du code tu dévérouilles l'ensemble de tes feuilles ; puis qu'à la fin du même code de ta macro, à l'inverse, tu re-vérouilles tes feuilles.

Exemple :

> Au début de ta macro :

Application.screnupdating = false
For Each ws In Worksheets
ws.Unprotect ('tonmotdepasse')
Next ws


> A la fin de ta macro :

For Each ws In Worksheets
ws.Protect ('tonmotdepasse')
Next ws
Application.Screenupdating = true


Ciao ciao !! :)
 

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour Simon, bonjour David, bonjour JYLL

Dans le code de ta macro, tu insères avant & après l'exécution ceci :

Code:
Private Sub CommandButton1_Click()
ActiveSheet.Unprotect 
Ton action de macro
ActiveSheet.Protect 
End Sub

et si tu as mis un PassWord lors de la protection, tu remplaces par 

Private Sub CommandButton1_Click()
ActiveSheet.Unprotect Password:='123'
Ton action 
ActiveSheet.Protect Password:='123'
End Sub

Bonne fin de journée à toutes & à tous ;)

Pas rafraîchi - Bonjour Law et bonne A/M

Message édité par: Eric C, à: 21/12/2005 12:44
 

Discussions similaires