Bonjour à tout le monde. En fait je voudrais savoir comment avec un macros empêcher la modification d'une cellule. Je veux que dès que l'utilisateur appuie sur un bouton qu'il n'y ait plus possibilité de modification de la cellule. Merci d'avance
Version imprimable
Bonjour à tout le monde. En fait je voudrais savoir comment avec un macros empêcher la modification d'une cellule. Je veux que dès que l'utilisateur appuie sur un bouton qu'il n'y ait plus possibilité de modification de la cellule. Merci d'avance
Bjr ,
utilisez la propriété suivante :
CdtCode:
1
2PlageCellule.Locked = True
Rom
Ca ne marche pas. en fait ca ne règle pas du tout mon problème
Bonsoir Layediouf,
J'imagine que l'essai a peut-être déjà été fait... un verrouillage de ta feuille.
Pour verrouiller la plage à protéger (si elle ne l'était pas déjà) :
Puis verrouillage de la feuille avec un mot de passe :Code:
1
2
3 Range("A1:B6").Select Selection.Locked = True Selection.FormulaHidden = False
Enfin c'est l'idée.Code:ActiveSheet.Protect Password:="motdepasse", DrawingObjects:=True, Contents:=True, Scenarios:=True
Bertrand
PS : pour déprotéger si besoin, essaies :
Code:ActiveSheet.Unprotect Password:="motdepasse"
En fait je voudrai que la cellule soit bloqué automatiquement après l'avoir remplie et cliquer sur le bouton
Bonsoir,
À mon avis, déclenches une conditionnelle... "Si cellule non vide alors" et appliques le code vu précédemment à l'intérieur de ton SI.
Bertrand
d'accord je vais essayer de voir avec ca d'ici demain. car il me faut trouver la condition d'abord
Salut,
j'ai tenté un truc qui marche bien chez moi, dis moi si sa te plait.
Code pour les 2 boutons
J'ai restreint la Range à A1 et Z50 mais tu peux modifier bien sur.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub BoutonLock_Cliquer() Dim cell As Range ActiveSheet.Unprotect Password:="test" For Each cell In Range("A1", "Z50") If cell.Value <> "" Then cell.Locked = True Next ActiveSheet.Protect Password:="test", DrawingObjects:=True, Contents:=True, Scenarios:=True ActiveSheet.EnableSelection = xlUnlockedCells End Sub Sub BoutonUnlock_Cliquer() ActiveSheet.Unprotect Password:="test" Range("A1", "Z50").Locked = False End Sub
tu écris ce que tu veux sur ta feuille, tu click sur BoutonLock et tu peux modifier encore ta feuille sauf les cellules que tu a déjà remplies.
Tu click sur BoutonUnlock pour pouvoir récrire partout.
Le seul problème est qu'il faut absolument cliquer sur Unlock au début, pour mettre toutes les cells à Locked = False
le soucis avec ce code c'est que dès que je clique sur le bouton unlock je peux encore modifier tout. Or je veux qu'il n'y ait plus possibilité de modification après l'avoir fermé. Merci bcp qu'à même ça donne des idées pour progresser
salut,
tu veux que toute ta feuille soit non modifiable ou juste les cellules non vides ?
si tu veux que ce soit toute la feuille, pas besoin de vba, il suffit que tu aille dans Revision, puis proteger la feuille.
Si tu veux que les cellules remplies soit non modifiable mais que les cellules vides soit modifiable, ne click pas sur Unlock puisque c'est ce que fait le bouton Lock.
bon ce que je veux c'est certaines feuilles apres remplissage ne soient plus modifiables. car j'ai une cellule rempli par la date d'aujourd'hui et je veux qu'elle ne soit plus modifiable après remplissage car elle est la base de pénalité
Salut
Tu n'as pas besoin de macro pour faire ça. Il te suffit de verrouiller la feuille dans l'onglet Révision, puis protéger la feuille
Comprenez que si je verrouille la feuille l'utilisateur qui est une tiers personne ne pourra pas écrire pour la première fois. Or il doit d'abord remplir certains champs et ensuit après avoir cliqué sur le bouton enregister il doit plus être en mesure de modifier trois cellule que sont C3,D3et E3. Voilà pourquoi je ne peux pas venir et verrouiller directement la la feuille ou la feuille mais elle doit être active jusqu'à ce qu'il enregistre
Salut,
Si on avait toutes les infos au début ='(
Et avec tous les exemples qu'on t'a donnée, tu devrais pouvoir te démerder.:lol:
Voilà la base, verrouillage de la feuille.Code:
1
2
3
4
5 Sub Bouton1_Cliquer() ActiveSheet.Protect Password:="test", DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub