fanch55
XLDnaute Barbatruc
Bonjour à tous,
Je suis resté près d'une demi-journée à me demander pourquoi en tentant de faire un range.validation.add, je me heurtais systématiquement à une erreur 1004 .
Pourtant, le code que j'exécutais avait été construit par l'enregistreur de macro , et ce code aboutissait également à une erreur 1004 .
Après moult consultations de différents forums, j'ai remarqué que les utilisateurs anglophones avaient rarement ce type d'erreur .
J'ai donc tenté de "traduire" la formule :
code qui provoquait toujours une erreur 1004 ...
puis je me suis souvenu qu'en Excel Anglophone, le caractère ";" n'était pas le délimiteur standard, mais le caractère "," (virgule)
Code qui à ma plus grande satisfaction se déroule correctement ....
Que de temps perdu pour une particularité non indiquée dans les aides de Microsoft !!!!
Je suis resté près d'une demi-journée à me demander pourquoi en tentant de faire un range.validation.add, je me heurtais systématiquement à une erreur 1004 .
Pourtant, le code que j'exécutais avait été construit par l'enregistreur de macro , et ce code aboutissait également à une erreur 1004 .
VB:
Exemple:
.Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
Formula1:="=ET(SOMME($B4:$D4)<=$B$2;OU(B4="""";ESTNUM(B4));MOD(B4;0.5)=0)"
J'ai donc tenté de "traduire" la formule :
VB:
.Add xlValidateCustom, xlValidAlertStop, xlBetween, _
"=AND(SUM($B4:$D4)<=$B$2;OR(B4="""";ISNUMBER(B4));MOD(B4;0.5)=0)"
puis je me suis souvenu qu'en Excel Anglophone, le caractère ";" n'était pas le délimiteur standard, mais le caractère "," (virgule)
VB:
With Range("B4").Validation
.Add xlValidateCustom, xlValidAlertStop, xlBetween, _
"=AND(SUM($B4:$D4)<=$B$2,OR(B4="""",ISNUMBER(B4)),MOD(B4,0.5)=0)"
.IgnoreBlank = True: .InCellDropdown = True
.InputTitle = "": .InputMessage = "": .ShowInput = True
.ErrorTitle = "": .ErrorMessage = "": .ShowError = True
End With
Code qui à ma plus grande satisfaction se déroule correctement ....
Que de temps perdu pour une particularité non indiquée dans les aides de Microsoft !!!!