XL 2016 listes dépendante d'un autre résultat VBA

inconnu

XLDnaute Nouveau
Bonjour à toutes et à tous, je ne parviens pas à étendre sur plusieurs lignes la macro suivante:
par exemple : Si la cellule C12 contient "S" je voudrais que B12 ne propose que la liste nommée S, tandis que si c'est un "U" seulement la liste U, etc...
Et appliquer cela sur un nombre de X ligne.



X = 2
Do While X < 10
If Cells(X, 3) = "S" Then

With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
Formula1:="=(IF(BX<>"""",OFFSET(S,MATCH(BX&""*"",S,0)-1,,COUNTIF(S,BX&""*"")),S))" '_Si je met B2 dans la formule, autofill utilise que le résultat de C2.
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With

ElseIf Cells(2, 3) = "U" Then

With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
Formula1:="=(IF(BX<>"""",OFFSET(U,MATCH(BX&""*"",U,0)-1,,COUNTIF(U,BX&""*"")),U))"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With

Selection.AutoFill Destination:=Range("B2:B10"), Type:=xlFillDefault

End If
X=X+1
Loop

Par avance merci pour vos réponses
 
Dernière édition:

inconnu

XLDnaute Nouveau
Bonjour,
je demande un petit up s'il vous plaît, je n'arrive toujours pas à trouver une méthode qui s'applique à mes X ligne.
En effet, seulement le résultat de la cellule C2 se conserve et s'applique sur les lignes suivantes.
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 009
Membres
101 865
dernier inscrit
MLL