Bloquer automatiquement des données contre les modifications

Bonjour à tous,

est il possible de bloquer automatiquement des données dans un Excel après les avoir enregistrées ou si il est possible après avoir tapé dans une case une donnée que celle ci sont automatiquement bloquée contre les modifications?

Merci pour votre aide

Bonjour,

Je te propose de coller le code suivant dans la feuille du classeur concerné sous VBA.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:B10")) Is Nothing Then 'Plage à adapter
        Me.Unprotect
        Target.Locked = True
        Me.Protect
    End If
End Sub

Source :http://www.xlerateur.com/divers/2016/10/28/verrouiller-une-cellule-apres-la-saisie-5408/

Bonjour Mus54,

votre code bloque toutes les cellules de l'onglet et pas seulement le colonne D:D10 comme dans le fichier joint.

merci pour votre réponse

Bonjour,

En fait, pour protéger une cellule il y a plusieurs étapes :

  • On déverrouille toutes les cellules
  • On verrouille la cellule qu'on veut protéger
  • On protège la feuille de classeur (qui va automatiquement protéger la ou les cellules verrouillées).

Dans ton cas toutes les cellules sont verrouillées, c'est pour cela que le code ne fonctionne pas correctement.

Donc il faut que tu sélectionnes toute la feuille, que tu fasse clique droit, format cellule, protection et décoche verrouillée.

N'hésite pas si t'as des questions.

Bien à toi

Bonjour Mus54,

j'ai retirer a la feuille la protection.

mais maintenant si je vous mettre "un chiffre" dans la colonne e4:e16, cela me répond que c'est protégé. l'idée est de protéger les cases de la colonne e4:e16 au fur et a mesure que je complète les cases.

VBA utilisée dans le fichier joint :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("e4:e16")) Is Nothing Then

Me.Unprotect "1"

Target.Locked = True

Me.Protect "1"

End If

End Sub

Merci pour votre aide

Tout simplement : tes cellules sont verrouillées...

Tu déverrouilles toutes les cellules et c'est la macro qui verrouille les cellules qui sont dans ta plage et protège la feuille.

ça fonctionne,

petite question, si je veux que cela fonctionne aussi avec des colonnes protégées en dehors de celles protégées par la VBA,

il a t il une solution?

Je ne comprends pas.. tu peux faire un fichier d'exemple ?

Bonjour Mus54,

ci-joint le fichier avec se que je souhaites faire

merci

Essaye ceci

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("G4:G16").Locked = False Then
    Range("G4:G16").Locked = True
    Range("J4:J16").Locked = True
End If
If Not Intersect(Target, Range("e4:e16")) Is Nothing Then
Me.Unprotect "1"
Target.Locked = True
Me.Protect "1"
End If
End Sub
Rechercher des sujets similaires à "bloquer automatiquement donnees contre modifications"