IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Verrouiller Ou Protéger Les Cellules Après La Saisie Ou La Saisie De Donnée


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Verrouiller Ou Protéger Les Cellules Après La Saisie Ou La Saisie De Donnée
    Salut
    J'ai besoin de votre aide,
    J'ai un fichier excel .. sur une feuille je veux verrouiller Ou protéger la feuille automatiquement après la saisie,
    j'ai trouvé une solution par ce code VBA :

    Code VBA: verrouille ou protège les cellules après la saisie ou l'entrée de données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Dim mRg As Range
    Dim mStr As String
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
        Set mRg = Target.Item(1)
        mStr = mRg.Value
    End If
    End Sub
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim xRg As Range
        On Error Resume Next
        Set xRg = Intersect(Range("A1:F8"), Target)
        If xRg Is Nothing Then Exit Sub
        Target.Worksheet.Unprotect Password:="123"
        If xRg.Value <> mStr Then xRg.Locked = True
        Target.Worksheet.Protect Password:="123" 
    End Sub
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
        Set mRg = Target.Item(1)
         mStr = mRg.Value
    End If
    End Sub
    Note: Dans le code, "A1:F1" est la plage dont j'ai besoin de protéger et "123" est le mot de passe.

    Le problème que j'ai trouvé avec ce code c'est qu'après une seule saisie ou modification la feuille devienne bloquée alors que j'ai beaucoup d'information à saisir!
    Est ce que possible que je met un bouton ou quelque chose, quand je fini je clique sur le bouton est la feuille est protégée ?

    Et merci.

  2. #2
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2015
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2015
    Messages : 64
    Points : 75
    Points
    75
    Par défaut
    Hello,

    Voilà le code que j'utilise pour bloquer des zones

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    Dim Plage As Range
    Set Plage = Application.InputBox("Sélectionnez la plage à verrouiller", "Sélection de cellules", Type:=8)
     
    MsgBox ("La plage que vous avez sélectionnée est :" & Plage.Address)
     
        If MsgBox("êtes-vous certain de valider ?" & Chr(13) & _
       "Vous ne pourrez plus modifier les entrées.", vbQuestion + vbYesNo) = vbYes Then
            ActiveSheet.Unprotect
            ActiveSheet.Cells.Locked = False
            Plage.Copy
            Plage.Locked = True
            ActiveSheet.Protect
        End If
    Enjoy

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Hello don_pets,

    Honnêtement je suis nul à utiliser et modifier des codes comme ça, tu peux m'aider ?

    je veux bloquer toute la feuille après plusieurs modification, donc la plage est A1:I109 !

    comment je dois modifier le code svp?
    et a propos le mot de passe !!

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations forums :
    Inscription : Octobre 2007
    Messages : 215
    Points : 226
    Points
    226
    Par défaut
    Bonjour

    Voulez-vous protéger la feuille après avoir fini toutes vos modifications ou après chaque écrire dans une cellule ?

    Citation Envoyé par Ellouubab Voir le message
    La méthode simple ne vous intéresse-t-elle pas au lieu de protéger par code VBA ?
    • Protéger la feuille
    • Autoriser la modification des plages concernés (Indiquer un mot de passe de modification)


    Alors Excel vous demande un mot de passe si vous voulez modifier une des plages concernées.
    Après la saisie quand vous fermez le classeur, à la réouverture, Excel vous demandera encore le mot de passe si vous voulez modifier une des plages concernées.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Salut Niagala,

    Le problème c’est que je veux partager le fichier avec des collègues, alors ce que je veux c’est protéger la feuille après saisie, donc le fichier doit être ouvert sans mote de passe la 1ère fois, quand quelqu’un insère des informations je veux que la feuille se bloque automatiquement sans qu’ils connaissent le mote de passe pour interdire les modifications par tous les collègues.
    J’es que mon message soit clair pour vous.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Septembre 2014
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci a tous, j'ai trouvé la solution qui me convient sur cette video :


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] comment protéger les cellules contenant des formules d'un classeur
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/02/2015, 17h55
  2. n'ecrit plus dans les cellules apres ma fonction (PHPExcel)
    Par bender86 dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 09/03/2011, 17h04
  3. Protéger les cellules contre les modifications
    Par Gildas86 dans le forum Excel
    Réponses: 5
    Dernier message: 10/12/2009, 16h46
  4. Réponses: 3
    Dernier message: 02/07/2008, 10h32
  5. séparer les cellules apres split&merge
    Par Darkcristal dans le forum Traitement d'images
    Réponses: 5
    Dernier message: 09/07/2007, 16h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo