Liste déroulante

Résolu
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

  1. Modérateur
    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.
    1. 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 ??)
  2. Modérateur
    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 

    1. 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 ;)
    2. Modérateur
      Tout le monde a débuté un jour.
      De rien, et surtout n'hésite pas à revenir.
      A bientôt.