OVH Cloud OVH Cloud

validation dans une macro

2 réponses
Avatar
Yves Trudel
Bonjour,
j'essaie d'écrire une macro qui vérifie si la cellule dans la colonne "E"
est vide pour permettre d'écrire une valeur dans la colonne "H". Dans
l'extrait de macro ci-bas j'ai essayé:
isblank(RC[-3])
mais j'obtiens une erreur dans l'exécution.
"erreur 1004
Erreur définie par l'application ou l'objet "

Quelqu'un a sûrement une correction à me montrer!

Merci d'avance
Yves Trudel


Range("H8").Select
With Selection.validation
.Delete
.Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop,
Operator:= _
xlBetween, Formula1:="=isblank(RC[-3])"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "ATTENTION"
.ErrorTitle = "ATTENTION"
.InputMessage = _

2 réponses

Avatar
Yves Trudel
Mais si je veux une référence relative? Parce que je ne part pas
nécessairement de la ligne 8, mais je vais toujours chercher la colonne E
par rapport à la colonne H.

Merci d'avance
Yves
"AV" a écrit dans le message de news:

Remplace
......isblank(RC[-3])
par
......Formula1:="=isblank(E8)"

AV




Avatar
AV
Mais si je veux une référence relative?


Ben E8 c'est une référence relative !
Test : Si, dans ta feuille, tu copies/colles ailleurs ta "validation" obtenue
par macro, le décalage de E8 par rapport à H8 (même ligne et -3 colonnes) va
suivre

Parce que je ne part pas nécessairement de la ligne 8,
mais je vais toujours chercher la colonne E
par rapport à la colonne H.
Si tu veux intégrer une variable ligne à la macro :


Sub zz_valid()
rw = 10
With Range("H" & rw).Validation
.Delete
.Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=isblank(E" & rw & ")"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "ATTENTION"
.ErrorTitle = "ATTENTION"
End With
End Sub

AV