Macro pour empécher la modification des céllules rempli [Résolu/Fermé]

Signaler
-
 Torre -
Bonjour,

Je voudrais programmer une macro afin que l'on ne puisse pas modifier les cellules remplie mais que l'on puisse écrire sur des céllules vide de ce même tableau et je voudrais que l'on puisse les modifier les cellules rempli seulement avec un mot de passe

Pourriez vous m'aider s'il vous plaît
A voir également:

2 réponses

Messages postés
17406
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juillet 2021
4 664
Bonjour,

Si tu veux accessible la plage A2:G30 et verrouiller les cellules de cette plage après saisie mais modifiable avec mot de passe
commence par sélectionner la plage/clic droit/format de cellule/Protection/décoche Verrouillée

plage encore sélectionnée/onglet Révision/module Modifications/Permettre la modification des plages/Nouvelle/dans fait référence aux cellules tu devrais avoir les bornes de la plage sélectionnée/saisir un mot de passe pour accéder à la modification après protection exemple toto

dans les propriétés de la feuille, clic droit sur l'onglet de ta feuille/Visualiser le code/colle ce code

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([A2:G30], Target) Is Nothing And Target.Count = 1 Then
ActiveSheet.Unprotect Password:="titi"
Target.Locked = True
ActiveSheet.Protect Password:="titi"
End If
End Sub

revient sur ta feuille, protège la avec un mot de passe qui peut être différent de celui pour la modification, dans l'exemple j'ai choisi titi veille a ce que l'accès aux cellule verrouillées et déverrouillées soit coché dans les options de protection de ta feuille
c'est super merci mais je voudrais utiliser ce systéme de mot de passe uniquement pour empécher les modifications de cellules déjà rempli, je m'explique ces tableaux vont contenir les informations écrite pas differentes equipes et je ne voudrais pas qu'une equipes modifie les infos des autres equipes, je voudrais que le seule capable de modifier les informations soit le responsable donc il faudrait que le systéme ne protége que les céllules remplie et pas les cellules vide.
En gros quand on clique sur une cellule vide il n'y est pas de protection par mot de passe mais que lorsque l'on rempli la cellule on soit obligé de mettre un mot de passe pour la modifier
j'ai trouvé une maccro qui conviendrait si à la place du message "Impossible de sélectionner cette cellule" il y aurait une demande de mot de passe qui bloquerait ou autoriserais les modifications si il est rentré juste ou non :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
dim plage as range
Set plage = Range("A1:H1")
If Not Application.Intersect(Target, plage) Is Nothing Then
If Not IsEmpty(Target) Then
MsgBox "Impossible de sélectionner cette cellule"
Target.Offset(1, 0).Select
End If
End If
End Sub
Messages postés
17406
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juillet 2021
4 664
Re,

et bien mon code le fait, au départ les cellules sont accessibles, puis une fois remplies les cellules se verrouillent, pour y accéder il faut un mot de passe et si la feuille n'est pas protégée à quoi bon verrouiller les cellules et je dirai même protéger le code VBA par mot de passe parce que s'il reste accessible n'importe qui pourra aller chercher très simplement les mots de passe.
le code que tu as retenu verrouille et empêche toute modification même avec mot de passe

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
Merci Mike 31 j'ai réussi à modifier mon code avec tes indications et ça marche bien