Bonsoir à tous,
Malgré mes recherches, je n'arrive pas à solutionner mon problème qui suit :
Dans une colonne, j'aimerai empêcher la saisie de date non comprise dans l'année en cours ou la saisie de texte sauf le mot "ANNULEE".
J'ai essayé le code suivant sans résultat ("erreur 1004") :
Comme je ne suis pas un grand autodidacte, je vous remercie d'avance de me dire où je me plante.
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("M3:M1500")) Is Nothing Then If IsDate(ActiveCell.Value) Then With Selection.Validation .Delete .Add Type:=xlValidateDate, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=DATE(YEAR(NOW()),1,1", Formula2:= _ "=DATE(YEAR(NOW()),12,31" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "Attention !" .InputMessage = "" .ErrorMessage = "Vous devez obligatoirement saisir une date comprise dans l'année en cours !" .ShowInput = False .ShowError = True End With Else If Target.Value Like "ANNULE*" Then 'rien ElseIf Not Target.Value Like "ANNULE*" And Target.Value Like "*" Then With Selection.Validation .Delete .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="<>""ANNULE*""" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "Attention !" .InputMessage = "" .ErrorMessage = "Vous devez obligatoirement saisir le mot ANNULEE !" .ShowInput = False .ShowError = True End With End If End If End If End Sub
Cordialement.
Partager