Bonjour
Voici mon challenge du jour
Donc en faite j'ai une plage de cellule A22:A1004, mon but et que des qu'on rensgne une valeur dans cette plage (j'ai mis une liste déroulante) alors la date doit apparaitre en auto dans la cellule juste à droite.
Et 2 eme problème
est ce que c'est possible de verouiller les cellules A22, B22 et E22:AQ22 quand A22 est renseigné
et sur le même principe C22, D22 et AR22:AV22 quand C22 est renseigné et ainsi de suite sur toute la colonne
J'ai commencé a écrire ça mais j'arrive pas à aller plus loin
Avec beaucoup de mal j'ai écris le code ci dessous mais ça ne fonctionne pas,
j'aurai besoin d'un coup de main
je peux joindre le fichier si besoin
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 Private Sub Worksheet_Change(ByVal Target As Range) With Target If Application.Intersect(Target, Range("A22:A1004, C22:C1004")) Is Nothing Then Exit Sub If .Count > 1 Then Exit Sub Application.EnableEvents = False If .Value = "" Then .Offset(, 1).Value = "" Else .Offset(, 1) = Date .EntireRow.Locked = False 'déverrouille toute la ligne 'verrouille en fonction If .Column = 1 Then Union(.Offset(, 1), Range(.Offset(, 4), .Offset(, 42))).Locked = Target.Value <> "" 'si colonne A If .Column = 3 Then Union(.Offset(, 1), Range(.Offset(, 41), .Offset(, 45))).Locked = Target.Value <> "" 'si colonne C Application.EnableEvents = True End With End Sub
Partager