Liste déroulante

Résolu/Fermé
papoux - Modifié par pijaku le 22/11/2013 à 14:42
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 22 nov. 2013 à 15:22
Bonjour,

je n'arrive pas à ajouter plusieures cellules où je doits retrouver ma liste, Range n'autorise que 2 cellules et il m'en faut 3 !!!
voilà mon code :
Sub lolo()
With Range("B1").Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=a1:a10"
End With
End Sub

merci pour votre aide ;)

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
22 nov. 2013 à 14:43
Bonjour,

J'ai rajouté des balises code dans ta demande (4e icone au-dessus de la zone de texte).
Merci d'y penser la prochaine fois ;)

Concernant ton souci, Range n'autorise que 2 cellules et il m'en faut 3 est incompréhensible. Dis nous exactement ce que tu cherches à faire.
0
papafoux Messages postés 2 Date d'inscription vendredi 22 novembre 2013 Statut Membre Dernière intervention 22 novembre 2013
Modifié par papafoux le 22/11/2013 à 15:13
merci de votre attention pour mon code ;)

il faut que la tirétte de la liste apparesse dans la cellule exemple: "b1" et une autre en "b2" et une autre en "b3"
ligne de code :
With Range(Cells(1, 2), Cells(2, 2)).Validation
ou
With Range("b1,b2").Validation
et en plus la deuxième cellule rabote un cellule dans la selection "a1:a10" elle afiche appartire de la cellule "a2" ??

ps. je ne comprent pas (4e icone au-dessus de la zone de texte ??)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
22 nov. 2013 à 15:09
Bon...
Et pourtant cela fonctionne :
Sub lolo()
With Range(Cells(1, 2), Cells(3, 2)).Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=a1:a10"
End With
End Sub

Par contre, la liste de validation change dans ce cas. Tu obtiens en B1 : A1:A10, en B2 : A2:A10, en B3 : A3:A10.
Je suppose que tu ne veux pas cela.
Donc, pour contourner ce petit problème, il suffit d'intégrer une minuscule boucle à ta macro.
Ce qui nous donne :
Sub lolobis()
Dim i As Byte
For i = 1 To 3
    With Range("B" & i).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=a1:a10"
    End With
Next
End Sub 

0
papafoux Messages postés 2 Date d'inscription vendredi 22 novembre 2013 Statut Membre Dernière intervention 22 novembre 2013
22 nov. 2013 à 15:21
merci beaucoup je ne te dis pas toute les fois que j'ai retourné le probléme,
merci encore
je n'aurais j'amais trouvé sans ton aide je n'ai pas ce niveau
merci encore ;)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
22 nov. 2013 à 15:22
Tout le monde a débuté un jour.
De rien, et surtout n'hésite pas à revenir.
A bientôt.
0