Fonction DECALER / INDIRECT / EQUIV en VBA et erreur

Bonjour,

Lorsque je renseigne la formule suivante dans une liste déroulante, cela fonctionne très bien :

=DECALER(INDIRECT("Masquée!B"&EQUIV(INDIRECT("A"&LIGNE());Masquée!A:A;0));;;NB.SI(Masquée!A:A;INDIRECT("A"&LIGNE()));)

Lorsque que je lance un enregistrement de macro sur cette même manipulation, j'obtiens le code suivant :

Sub Macro1()
'
' Macro1 Macro

    Range("B14").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:= _
        "=DECALER(INDIRECT(""Masquée!B""&EQUIV(INDIRECT(""A""&LIGNE());Masquée!A:A;0));;;NB.SI(Masquée!A:A;INDIRECT(""A""&LIGNE()));)"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub

Et lorsque j'exécute ce code, j'ai l'erreur suivante sur la ligne correspondant à ma formule :

Erreur d'exécution '1004':

Erreur définit par l'application ou par l'objet

J'ai tenté de modifier ma formule en la passant en anglais mais j'ai le même code d'erreur.

J'ai également tenté de modifier quelque peut ma formule pour essayer de déterminer la source de mon problème, sans succès.

Est-ce qu'une âme charitable pourrait m'aider ?

Merci à vous !

Bonne soirée !

Bonjour

Logique vous mettez une formule en Français dans VBA qui ne voit que l'anglais

Si la formule dans votre cellule est bonne remplacez :

decaler par OFFSET

Equiv par MATCH

Ligne par ROW

Si elle n'est pas bonne je vous conseille de la placer dans une cellule et d'obtenir dans cette cellule ce que vous cherchez

Une fois fait, démarrez l'enregistreur VBA automatique, sélectionnez votre formule dans la barre de formule

Ensuite faites copier la formule et coller (ctrl + V)

Arrêtez l'enregistreur automatique puis allez dans l'éditeur VBA pour visualiser ce que l'enregistreur auto vous a renvoyé

Cordialement

Rechercher des sujets similaires à "fonction decaler indirect equiv vba erreur"