Bonjour,
J'utilise "If not intersect" afin de donner que 2 valeurs à une cellule dans une plage de cellule ("Bon état" ou "manquant")
Par contre dans cette plage de cellule, il y a des cellules vides et j'aimerai qu'elles soient vérouillées ou que l'on ne puissent pas changer la valeur "vide". Voici la partie du code.
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Changement des états en "bon état" ou "Manquant"
If Not Intersect([H9:S9], Target) Is Nothing Then Target.Value = IIf(Target.Value = "Bon état", "Manquant", "Bon état")
Cancel = True
End Sub
If Not Intersect([H9:S9], Target) Is Nothing Then
With Target.Cells(1)
If .Value <> vbNullString Then _
.Value = IIf(.Value = "Bon état", "Manquant", "Bon état")
End With
End If
Cancel = True
Fonctionne avec une cellule simple ou des cellules fusionnées ( seule la première a une valeur ).
Pourquoi ne pas avoir donné un nom à la plage, cela éviterait de modifier le code si la plage s’agrandit , se réduit ou est déplacée ...
If Not Intersect([H9:S9], Target) Is Nothing Then
With Target.Cells(1)
If .Value <> vbNullString Then _
.Value = IIf(.Value = "Bon état", "Manquant", "Bon état")
End With
End If
Cancel = True
Fonctionne avec une cellule simple ou des cellules fusionnées ( seule la première a une valeur ).
Pourquoi ne pas avoir donné un nom à la plage, cela éviterait de modifier le code si la plage s’agrandit , se réduit ou est déplacée ...