Bonjour,

J'ai besoin d'ajouter une condition de validation par macro. J'ai donc lancé l'enregistreur de macro pendant que je faisais la manip manuellement pour obtenir la syntaxe de l'instruction.

Le généré est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
        Formula1:="=DECALER(RIBs;EQUIV(A2;Vendeurs;0)-1;0;NB.SI(Vendeurs;A2))"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
Quand je cherche à rejouer la macro enregistrée qui bloque sur l'instruction ci dessous avec le code "Erreur d'exécution '1004' : Erreur définie par l'application ou par l'objet"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
        Formula1:="=DECALER(RIBs;EQUIV(A2;Vendeurs;0)-1;0;NB.SI(Vendeurs;A2))"
J'ai essayé d'angliciser la formule en utilisant les fonctions OFFSET, MATCH et COUNTIF mais ça ne marche pas plus.

Quelqu'un pourrait me dire comment faire ?

Je précise au cas où, que la condition de validation placée pendant l'enregistrement de la macro fonctionne correctement

D'avance merci.