Verrouiller une cellule après la saisie

Bon­jour à tous, 

Voici la ques­tion d’un lecteur : 

“J’ai un tableau Excel pro­tégé avec des cel­lules ver­rouil­lées et des cel­lules non ver­rouil­lées pour la saisie de plusieurs util­isa­teurs. Je voudrais que les cel­lules non ver­rouil­lées se ver­rouil­lent automa­tique­ment après les saisies pour que les util­isa­teurs ne puis­sent plus les mod­i­fi­er, sauf moi.”

Il existe prob­a­ble­ment plusieurs solu­tions, mais en voici une pos­si­ble en vidéo. Vous pou­vez télécharg­er le fichi­er ici.

L’idée est de cap­tur­er l’événe­ment Change de la feuille pour ensuite dépro­téger la feuille, ver­rouiller la cel­lule, puis repro­téger la feuille.

Le code ajouté au clic droit sur la feuille est celui-ci : 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("MontantsASaisir")) Is Nothing Then
        Me.Unprotect
        Target.Locked = True
        Me.Protect
    End If
End Sub

Et en vidéo :

A bien­tôt.

Gae­tan

Pour marque-pages : Permaliens.

20 réponses à Verrouiller une cellule après la saisie

  1. Christian Gautier dit :

    Bon­jour,

    un grand mer­ci pour vos astuces.
    Néan­moins, la vidéo sur le ver­rouil­lage des cel­lules est inaudi­ble, la musique de fond est trop forte.

    Mer­ci à vous.

  2. Francis GAUTHIER dit :

    Je con­firme : la musique est nuisible !

  3. JULE Gérard dit :

    Bon­jour Gaëtan
    Comme dis­ent Chris­t­ian et Fran­cis, la musique nuit à la com­préhen­sion du texte parlé!
    On arrive à peine à com­pren­dre :c’est dommage.
    Un rectificatif ?
    Bonnes astuces à venir mal­gré tout

  4. Gaetan Mourmant dit :

    Mer­ci à tous pour vos commentaires.
    Je vais poster un rec­ti­fi­catif sous peu.
    A bientôt
    Gaetan

  5. Gaetan Mourmant dit :

    Mer­ci, c’est rectifié.
    Cordialement
    Gaetan

  6. JULE Gérard dit :

    Réac­t­if Gaëtan
    C’est beau­coup mieux
    Mer­ci pour nous
    Cordialement

  7. POGUET dit :

    Bon­jour,
    OK mais c’est vrai­ment léger comme pro­tec­tion, il suf­fit à l’u­til­isa­teur de dépro­téger manuelle­ment la feuille pour faire une nou­velle saisie. Même avec un mot de passe si l’ac­cès au vba n’est pas pro­tégé ce mot de passe est accessible.

  8. Gaetan dit :

    Bon­jour,
    Oui, c’est extrême­ment léger, mais de toutes façons, sur Excel, il vaut mieux con­sid­ér­er que rien n’est sécurisé. Une recherche rapi­de sur inter­net per­met de cra­quer les mots de passe en un rien de temps…
    L’idée est plutôt de faire en sorte que les util­isa­teurs ne puis­sent pas faire d’er­reurs en revenant sur une saisie déjà faite.
    A bientôt.
    Gaetan

  9. POGUET dit :

    Re,

    Vu comme ça, OK

  10. Kuam dit :

    Bon­jour Mon­sieur Mourmant,
    mer­ci pour ce tuto c’est exacte­ment ce que je cher­chais car je dois partager un fichi­er excel pour un tra­vail col­lab­o­ratif. Quand je test en local tout fonc­tionne par con­tre quand je le met dans le share­point et que je teste la mod­i­fi­ca­tion du fichi­er via Excel Online, ca ne marche plus. Est ce que c’est normal ?

  11. Cousineau dit :

    Bon­jour,
    Cela fait longtemps que je cher­chais à savoir cela,
    MERCI.
    Mais com­ment fait-on quand on a mis un mot code de protection?
    Mer­ci pour votre réponse.

  12. Gaetan Mourmant dit :

    Bon­jour Cousineau, je ne suis pas cer­tain de bien com­pren­dre, mais quelque chose comme ceci :
    Pri­vate Sub Worksheet_Change(ByVal Tar­get As Range)
    If Not Intersect(Target, Range(“MontantsASaisir”)) Is Noth­ing Then
    Me.Unprotect “Mot­De­Passe”
    Target.Locked = True
    Me.Protect “Mot­De­Passe”
    End If
    End Sub

  13. Gaetan Mourmant dit :

    PS : évidem­ment, il faut aus­si pro­téger le code VBA pour que l’u­til­isa­teur ne puisse pas voir le mot de passe, sachant que la pro­tec­tion excel est de toute façon illu­soire pour quelqu’un de déter­miné, mais utile pour des util­isa­teurs bien intentionnés.

  14. Romain dit :

    Bon­jour,

    Mer­ci pour ce code très utile pour ce que je veux met­tre en place dans mon fichier.
    Je voulais savoir s’il est pos­si­ble de déprotéger/verrouiller/proteger unique­ment à la fer­me­ture ou enreg­istrement du classeur ?
    L’idée est que l’u­til­isa­teur puisse mod­i­fi­er la cel­lule qu’il a rem­pli (en cas d’er­reur), tant qu’il n’a pas enreg­istré ou fer­mé le document.

    Mer­ci
    Romain

  15. Charlène dit :

    Bon­jour,
    Comme Romain je cherche à ver­rouiller les cel­lules unique­ment à l’en­reg­istrement du fichier.
    Mais je n’ar­rive pas à trou­ver la solution…
    Mer­ci pour votre aide 🙂

  16. Alain dit :

    Bon­jour,
    Ce tuto cor­re­spond par­faite­ment à un pro­jet de fichi­er com­mun que je veux plac­er sur onedrive. J’ai bien com­pris la manip­u­la­tion mais par con­tre dés que je ferme le fichi­er, les cel­lules ne se ver­rouille plus et je suis obligé de recom­mencer la manip. Sag­it-il d’un prob­lème de for­mat d’en­reg­istrement ou d’un bug? Mer­ci de votre aide car je n’ar­rive pas à résoudre ce problème.
    Alain

  17. Gaetan dit :

    Bon­jour Alain,
    C’est bizarre, vous pou­vez m’nevoy­er le fichi­er pour que je jette un oeil.
    Cordialement.

  18. Annie Morin dit :

    Bon­jour, com­ment déver­rouiller ce groupe de cel­lule afin de pou­voir chang­er les donner ?

  19. Gaetan dit :

    Vous pou­vez le sélec­tion­ner, puis ensuite clic droit, for­mat de cel­lule, pro­tec­tion et décocher “Ver­rouil­lé”.

  20. Annie Morin dit :

    @Gaetan, j’ai essayé de les sélec­tion­ner et je ne peux même pas le faire. Toutes les options (en cli­quant sur bou­ton droit de la souris) sont grisées. Même si j’ai ôté la pro­tec­tion de la feuille ça ne fonc­tionne pas. J’ai l’im­pres­sion que c’est à cause du code VBA comme indiqué dans la vidéo. Ca fonc­tionne bien les cel­lules sont telle­ment ver­rouil­lées qu’il est impos­si­ble de ten­ter quoi que ce soit sauf qu’il faudrait que les per­son­nes respon­s­ables du fichi­er puis­sent avoir un mot de passe dans le code VBA (exem­ple) qui leur per­me­t­tent une mod­i­fi­ca­tion des don­nées dans ces cas­es. SVP si une per­son­ne a une solu­tion pour moi ! Mer­ci à tous !!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.