Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…