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

Le
Choko
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #19599901
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



Publicité
Poster une réponse
Anonyme