Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Validation de Cellule par formule dependante de la ligne de mon target

1 réponse
Avatar
Choko
Bonjour,

Je reste bloqu=E9 une nouvelle fois face =E0 une validation de donn=E9es =
=E0
appliquer par VB...

J'applique =E0 une cellule une validation par liste.
J'aimerais que cette formule s'adapte =E0 la ligne sur laque je me
trouve.

J'ai donc pour cela ecrit :

With Target.Offset(0, 1).Validation
.Delete
.Add Type:=3DxlValidateList,
AlertStyle:=3DxlValidAlertStop, Operator:=3D _
xlBetween, Formula1:=3D "=3DOFFSET
(Tbl_Marques_R=E9gions_Dbt,MATCH($E10,Tbl_Marques_R=E9gions_Col,
0)-1,1,COUNTIF(Tbl_Marques_R=E9gions_Col,$E10),)"

End With
End With

Jusque l=E0 tout fonctionne.

Maintenant, je souhaite que la cellule $E10 soit variable par rapport
=E0 mon target.

J'ai donc pens=E9 =E0 cr=E9er un String qui remplacerait ma formule:

Dim Formule_Liste_R=E9gions as String

Formule_Liste_R=E9gions =3D "OFFSET(Tbl_Marques_R=E9gions_Dbt,MATCH($E" &
Target.Row & ",Tbl_Marques_R=E9gions_Col,0)-1,1,COUNTIF
(Tbl_Marques_R=E9gions_Col,$E" & Target.Row & "),)"

Excel nous renvoit notre aimable erreur 1004...

Question:
Peut-on remplacer une formule de validation par VB par un string?
Si non, y aurait-il une autre m=E9thode pour arriver =E0 mes fins?

D'avance merci

Choko

1 réponse

Avatar
isabelle
bonjour Choko,

With Target.Offset(0, 1).Validation
.Delete
x = Target.Address(RowAbsolute:úlse)
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
<xlBetween, Formula1:= "=OFFSET(Tbl_Marques_Régions_Dbt,
MATCH(" & x & ",Tbl_Marques_Régions_Col,0)-1,1,COUNTIF(Tbl_Marques_Régions_Col," & x & "),)"
End With

isabelle




Choko a écrit :
Bonjour,

Je reste bloqué une nouvelle fois face à une validation de données à
appliquer par VB...

J'applique à une cellule une validation par liste.
J'aimerais que cette formule s'adapte à la ligne sur laque je me
trouve.

J'ai donc pour cela ecrit :

With Target.Offset(0, 1).Validation
.Delete
.Add Type:=xlValidateList,
AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= "=OFFSET
(Tbl_Marques_Régions_Dbt,MATCH($E10,Tbl_Marques_Régions_Col,
0)-1,1,COUNTIF(Tbl_Marques_Régions_Col,$E10),)"

End With
End With

Jusque là tout fonctionne.

Maintenant, je souhaite que la cellule $E10 soit variable par rapport
à mon target.

J'ai donc pensé à créer un String qui remplacerait ma formule:

Dim Formule_Liste_Régions as String

Formule_Liste_Régions = "OFFSET(Tbl_Marques_Régions_Dbt,MATCH($E" &
Target.Row & ",Tbl_Marques_Régions_Col,0)-1,1,COUNTIF
(Tbl_Marques_Régions_Col,$E" & Target.Row & "),)"

Excel nous renvoit notre aimable erreur 1004...

Question:
Peut-on remplacer une formule de validation par VB par un string?
Si non, y aurait-il une autre méthode pour arriver à mes fins?

D'avance merci

Choko