XL 2016 Verrouiller une cellule après sa saisie ?

  • Initiateur de la discussion Initiateur de la discussion MartiKush
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MartiKush

XLDnaute Nouveau
Bonjour à tous !

Voilà, je suis en train d'élaborer un fichier Excel type "cahier de consigne" et j'ai un soucis.

Je souhaiterais qu'une fois la saisie faite, la cellule se bloque automatiquement et que l'on ne puisse plus la modifier sans mot de passe.

J'ai trouvé quelques bouts de code à adapter sur divers forums mais rien n'y fait, j'ai toujours une erreur de VBA, je dois pas m'y connaître assez je pense et je passe à côté de quelque chose, voici donc la raison de mon post.

Je vous joins le fichier Excel que vous puissiez y jeter un oeil. Je met aussi un screen des zones que je souhaite verrouiller après saisie. Si jamais quelqu'un y arrive, ce sera mon sauveur 😀

Merci d'avance pour votre aide.

Le screen :
1583348745395.png

Marti.
 

Pièces jointes

Bonjour,

Fusionner les cellules dans ce cas, n'est pas une bonne idée
Est-ce vraiment nécessaire ?
Une piste en Pj qui bloque les colonnes G et J si elles sont saisies et protège la feuille par mot de passe
Dans l'exemple j'ai enlevé les fusions sur ces colonnes et sur les lignes
Les codes se trouvent dans le ThisWorkbook et dans le module de la feuille 31
MDP==>toto
 

Pièces jointes

Bonjour MartiKush et bienvenu sur XLD, Bonjour Jacky.
Voici en PJ un essai, en supposant que c'est la colonne consigne qui est à sécuriser. Ce n'était pas très clair.

Mais je voudrais préciser que :
1- Ce n'est pas une sécurité contre la volonté de nuire ( pour cela il suffit d'invalider les macros ) mais simplement pour éviter les maladresses. D'ailleurs même les mot de passe feuille sont facilement crakables.
2- Le VBA a horreur des cellules fusionnées, car très difficile à analyser.

J'ai donc :
1- Supprimer les cellules fusionnées. ( Pour cela il suffit de jouer sur les largeurs et hauteurs cellules )
2- J'ai pris le choix que quand on clique sur une cellule protégée, on va directement sur la cellule à gauche. Donc impossibilité de modifier la cellule sauf à entrer le mot de passe : poiu
Tout est modifiable dans la macro : mot de passe, colonne à sécuriser ....

En espérant que cela vous convienne.
Il existe d'autres méthodes plus ou moins complexes mais tout dépend de votre niveau de sécurité requis.
 

Pièces jointes

Bonjour MartiKush et bienvenu sur XLD, Bonjour Jacky.
Voici en PJ un essai, en supposant que c'est la colonne consigne qui est à sécuriser. Ce n'était pas très clair.

Mais je voudrais préciser que :
1- Ce n'est pas une sécurité contre la volonté de nuire ( pour cela il suffit d'invalider les macros ) mais simplement pour éviter les maladresses. D'ailleurs même les mot de passe feuille sont facilement crakables.
2- Le VBA a horreur des cellules fusionnées, car très difficile à analyser.

J'ai donc :
1- Supprimer les cellules fusionnées. ( Pour cela il suffit de jouer sur les largeurs et hauteurs cellules )
2- J'ai pris le choix que quand on clique sur une cellule protégée, on va directement sur la cellule à gauche. Donc impossibilité de modifier la cellule sauf à entrer le mot de passe : poiu
Tout est modifiable dans la macro : mot de passe, colonne à sécuriser ....

En espérant que cela vous convienne.
Il existe d'autres méthodes plus ou moins complexes mais tout dépend de votre niveau de sécurité requis.
Bonjour sylvanu 🙂
Attention, en cas de sélection multiple on peut supprimer le contenu et refaire une saisie sans MDP.😳
 
Bonjour à vous,
Je serais intéressé d'utiliser le code qui bloque la colonne "D" une fois la saisie effectuée, mais je ne suis pas fin connaisseur pour faire une correction sur un code VBA.
En fait, j'aimerais pouvoir bloquer aussi la colonne "C" et "E".
Merci pour votre aide, et à ++++++
 
Dans cette PJ les colonnes CDE sont bloquées.

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
    NonVide = 0
    If Target.Column >= 3 Or Target.Column >= 5 Then                   ' Ne traite que les colonnes CDE
        For Each cel In Selection                                       ' Détection cell non vide dans toute la plage
            If cel.Value <> "" Then
                NonVide = 1
            End If
        Next
        If NonVide = 1 Then                                             ' Si cellule(s) non vide(s) alors
            If InputBox("Entrez votre mot de passe :") <> "poiu" Then   ' Mot de passe demandé
                Cells(Target.Row, 2).Select                             ' Si Faux, on va en colonne C
                Exit Sub                                                ' Et on sort
            End If
        End If
    End If
Fin:
End Sub
Pour changer les colonnes, il faut jouer sur les valeurs 3 et 5 sachant que la colonne 1 est la colonne A.
Code:
If Target.Column >= 3 Or Target.Column >= 5 Then
 

Pièces jointes

Jacky, je n'ai pas cherché à tout verrouiller. Vous savez bien que sous XL c'est tout simplement impossible.
Mais uniquement d'éviter les maladresses et les erreurs de saisie comme je l'ai dit au post #3.
Ce n'est pas une sécurité contre la volonté de nuire ( pour cela il suffit d'invalider les macros ) mais simplement pour éviter les maladresses
Le seul moyen réel de se protéger est Chiffrer le document. Mais c'est lourd si ce n'est que pour se protéger d'une maladresse.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour