Protection de cellule ou de plage de cellules!

K

Kyvu

Guest
Bonjour à toutes et à tous,

J'aimerai savoir s'il est possible par l'intermédiaire d'une macro évennementielle d'empêcher la modification du contenu d'une cellule ou d'une plage de cellules sans passer par la commande "Protéger la feuille..."

Je m'explique: l'idéal serait d'empêcher toute saisie lorsque le curseur pointe sur des plages prédéfines contenant par exemple des formules précieuses! ;-)

Merci d'avance pour votre aide!

@micalement.



Kyvu On Line!
 
@

@+Thierry

Guest
Salut Kyvu


Humm le but des Macros évennementielles n'est pas vraiment fait pour empécher de la saisie dans une cellule précise... On doit pouvopir y arriver mais je pense que c'est assez compliqué pour ne pas finir pas 's'enfermer" dans une procédure qui bloquera toute saisie... Et de toute manière sans vraiment chercher, la procédure utilisera la protection de la feuille...

Non moi je te conseille de déprotéger toutes les cellules où le user a le droit d'aller, de laisser les cellules contenant des formules "précieuses" en mode protection.. (par défaut pour toutes les cellules) et de protéger ta feuille.

Sinon sur ce fil il y a une astuce "système D" de Celeda qui a une petite faiblesse (l'astuce... pas Celeda !! lol)....

<http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=6378&t=6354>

Bonne Nuit
@+Thierry
 
M

Moa

Guest
T'as une solution que j'utilise.

Tu fais un double de ta feuille.Puis tu masques ta feuille d'origine.

Tu mets un bouton, sur ta feuille visible, auquel tu affecte une macro qui dit :

Affiche ma feuille masquée, sélectionne tout le contenu, va dans ma feuille visible et fait un collage spécial valeur, masque ma feuille.

Et comme cela, l'utilisateur, ne peut pas éffacer tes formules, et si il éfface des données sur la première feuille, il a juste à relancer la macro de copie.

Et si maintenat l'utisateur doit rentrer des données qui doivent être prises en compte dans les formules cachées.

Et bien tu rajoutes au début de ta macro, le copier coller vers ta feuille masquée.

En tout cas, je fais comme ça ...si ça te va, en plus le Vba est archi simple...


@ +

Moa
 
@

@+Thierry

Guest
DEMO => Protection de cellule par Macro Evennementielle

Bonsoir les Ami(e)s

Bon pour me changer les idées (d'un autre post ce soir) je me suis dit on peut faire quelque chose avec les Macros évennementielles pour Kyvu.... J'ai cherché pour les cellules uniquement, des plages il y a peut-être un moyen, mais bon c'était juste pour avoir une première approche sans faire une usine à gaz !! (lol)

ATTENTION ce n'est pas la "panacée universelle" puisque dans la version démo, je n'ai pas voulu utiliser de protection de feuille... Donc c'est un peu à prendre comme le System D de Celeda... C'est un leurre...... Et rien ne vaut la protection de la feuille pour éviter des catastrophes avec les users... Mais bon çà... plus une feuille protégée "pilotée" par ce genre de Macro et on peut faire des trucs sympas...

Je vous laisse découvrir... En prime il y a le code pour l'API pour ne pas avoir de croix sur le userform... (une version mise au point par Flo, Denis et Frédérique)

Bonne Nuit
@+Thierry

PS Pas testé sous XP (si vous avez des Problèmes avec cette API, faites le moi savoir)
 
K

Kyvu

Guest
Salut les gars!

Merci pour vos interventions. Je me sens maintenant moins seul face aux problèmes que je rencontre sur Excel... :-}

Mille mercis @+Thierry pour ton fichier. Je vais le tester de ce pas.

Je vous tiens au courant.

@micalement.



Kyvu On Line!
 
@

@+Thierry

Guest
Salut Sylvain


Très sympa l'idée d'utiliser le "Comment" comme facteur de vérouillage sur macro évennementielle.

Hélas même faiblesse que pour ma démo... si le "user" fait une sélection multiple sur une plage... Mais c'est une très bonne idée.

Bon dimanche
@+Thierry
 
T

Ti

Guest
Re: DEMO => Protection de cellule par Macro Evennementielle

Thierry voici une petite fonction qui te renvoie le hwnd d'un Userform plus simplement que tu ne le fais actuellement. Mon principe est que plus c'est simple, mieux c'est.
Tu lui passes en paramètre la propriété .Caption du Userform (voir mes fichiers MoletteSouris ou Icone qui l'utilisent).

Function hwndFenetreForm(CaptionFenetre As String) As Long
hwndFenetreForm = FindWindow(vbNullString, CaptionFenetre)
End Function

Ah, Robert, cette fonction est de moi, au cas où...
 

Discussions similaires

Statistiques des forums

Discussions
312 190
Messages
2 086 040
Membres
103 105
dernier inscrit
fofana