Bonjour à tous,
Dans le cadre d'un projet, je dois ajouter une validation de données sur plusieurs lignes dans des feuilles excel...
Le tout étant fastidieux, j'ai utilisé l'enregistreur de macro excel et regardé l'aide en ligne pour comprendre comment réaliser cela ...
J'aboutis au code suivant :
Sub Macro1()
Dim cellule As String, formule As String
For i = 5 To 16
j = i - 1
cellule = "G" & i & ":J" & i
'MsgBox cellule
formule = "=ET(ESTNUM($G$" & j & ");ESTNUM($H$" & j & ");ESTNUM($I$" & j & ");ESTNUM($J$" & j & "))"
'MsgBox formule
Range(cellule).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, _
Formula1:=formule
.IgnoreBlank = False
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Blocage de saisie"
.InputMessage = ""
.ErrorMessage = _
"Vous ne pouvez pas encoder sur cette ligne, la ligne précédente n'est pas remplie ! "
.ShowInput = True
.ShowError = True
End With
Next
End Sub
Mais malheureusement à l’exécution, il me sort une erreur 1004 : "Erreur définie par l'application ou par l'objet" au niveau de la ligne ".Add ..."
Est ce que quelqu'un aurait une solution ou verrait mon erreur ?
A noter que j'ai essayé de mettre la formule directement après "Formula1" mais cela ne fonctionne pas non plus