Verrouillage automatique de cellules dejà saisie et apres saisies

sebastien98000

XLDnaute Nouveau
Bonjour à toutes et à tous .

Je sais que ce post va irriter certains (ou certainnes) car elle a dejà été posée maintes fois mais je ne trouve pas de solution à mon probléme.Et comme je suis novice sur vb .......:D

Voilà , j'ai un fichier Excel avec des cellules de saisie (De AB3 à AC1000).
Certaines de ces cellules sont dejà remplies et d'autres à venir. Je voudrais verrouiller (empêcher la modification) de celles dejà remplie (contenant seulement une date) , et verrouiller automatiquement celles qui vont l'être (contenant seulement une date).

J'ai bien trouver des solutions sur le forum mais aucune qui correspondent à mon besoin.

Merci pour aide

Sebastien
 

Pierrot93

XLDnaute Barbatruc
Re : Verrouillage automatique de cellules dejà saisie et apres saisies

Bonjour Sebastien et bienvenue parmi nous.

Si j'ai bien compris ta demande, il y a lieu tout d'abord de dé-vérouiller les cellules concernées.

dans le module de la feuille concernée, tu places le code ci dessous :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If IsDate(Target.Value) Then Target.Locked = True
End Sub

il faut en outre que la protection soit faites, par vba en utilisant l'argument "userinterfaceonly", tu places donc le code ci dessous dans le module "ThisWorkbook" :

(mot de passe et nom de la feuille à adapter)
Code:
Private Sub Workbook_Open()
Sheets("Feuil1").Protect Password:="toto", userinterfaceonly:=True
End Sub

attention pour que cela fonctionne il faut avoir exécuté le code ci dessous.

bonne journée
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Verrouillage automatique de cellules dejà saisie et apres saisies

Re

regarde le code ci dessous, teste la plage concernée lors de l'ouverture du classeur, à placer dans "thisworkbook en lieu et place de celui déjà donné.

Code:
Private Sub Workbook_Open()
Dim c As Range
For Each c In Range("AB3:AC1000")
    If IsDate(c.Value) Then c.Locked = True Else c.Locked = False
Next c
Sheets(1).Protect Password:="toto", userinterfaceonly:=True
End Sub

@+
 

sebastien98000

XLDnaute Nouveau
Re : Verrouillage automatique de cellules dejà saisie et apres saisies

Désolé Pierrot.

Cela ne fonctionne pas. La protection se met bien en place mais aucune des cellules de ma plage de saisie n'est "verrouillée" malgré qu'une date soit dejà présente ou que j'en saisisse une.

Encore merci pour ton aide.

Sebastien

PS:Je joins un fichier simplifié pour mieux comprendre.
 

Pièces jointes

  • essai verrouillage.xls
    25.5 KB · Affichages: 189
  • essai verrouillage.xls
    25.5 KB · Affichages: 210
  • essai verrouillage.xls
    25.5 KB · Affichages: 220

Pierrot93

XLDnaute Barbatruc
Re : Verrouillage automatique de cellules dejà saisie et apres saisies

Re

ton fichier modifié.

@+

Edition mauvais fichier transmis.
 

Pièces jointes

  • essai verrouillage.xls
    26.5 KB · Affichages: 435
  • essai verrouillage.xls
    26.5 KB · Affichages: 492
  • essai verrouillage.xls
    26.5 KB · Affichages: 509
Dernière édition:

sebastien98000

XLDnaute Nouveau
Re : Verrouillage automatique de cellules dejà saisie et apres saisies

Merci Pierrot pout ton aide.

Tu m'enleves une grosse épine du pied. Le fichier modifié marche super bien . J'ai integrer à mon fichier original et tout marche Nickel. Merci encore pour tout.

Sebastien

:p
 

Discussions similaires

Statistiques des forums

Discussions
312 617
Messages
2 090 252
Membres
104 468
dernier inscrit
FabianF