Liste déroulante avec selection multiple

Bonjour,

J'ai besoin de vos lumières. J'ai beau chercher sur tout les sites possibles, je ne trouve LA solution me concernant.

Je découvre le VBA, je ne connaissais même pas son existence avant ces 15 derniers jours de recherche. Je me limite au tatonnement des formules.

Bref, voici ma requête. Pour le boulot je veux créer une liste déroulante avec plusieurs choix possible, à sélectionner ou cocher peut importe, pour me faciliter la tâche lors de la préparation de commandes.

J'ai donc besoin que la cellule H14 de la feuil1 soit en lien avec la liste de choix b3:b5 de la feuil2.

Idem pour les cellules i18 à i31 soient en lien avec la liste de choix h3:h8 de la feuil2.

Pour le reste je peux faire une liste déroulante normal mais comme je souhaite rentrer plusieurs critères, parfois différent d'une commande à l'autre, ça me faciliterai grandement la chose!

Merci d'avance pour vos propositions

Bonjour,

Pas besoin de VBA pour avoir le résultat attendu. Une liste déroulante avec formule DECALER convient.

Votre fichier en retour dans lequel j'ai supprimé des colonnes qui me semblent inutiles. Evitez toujours les cellules fusionnées quand vous pouvez surtout si vous faites appel à VBA.

Cordialement

Merci pour le coup d'oeil mais pour une liste déroulante lambda, pas de soucis mais sauf si je me suis mal fait comprendre et je m'en excuse mais dans les cellules choisies, je souhaitais faire une selection multiple. Pouvoir choisir par exemple "VR MANUEL,OB,SP10 CLAIR".

N'hesitez pas si je ne suis pas assez clair

En vous relisant c'est vrai vous parliez de plusieurs sélections

Prenez le fichier que je vous ai donné dans mon précédent post et faites ceci :
- Click droite sur l'onglet Feuil1
- Choisir l'option "visualiser le code"
- Dans la fenêtre, collez le code ci-dessous

Dim Stpevt As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Valeur1 As String, Valeur2 As String

If Target.Count > 1 Or Stpevt = True Then Exit Sub
On Error Resume Next
Set Plage = Cells.SpecialCells(xlCellTypeAllValidation)
If Plage Is Nothing Then Exit Sub
If Not Application.Intersect(Target, Plage) Is Nothing Then
    Stpevt = True
    Valeur2 = Target.Value
    Application.Undo
    Valeur1 = Target.Value
    Target.Value = Valeur2
    If Valeur1 <> "" Then
        If Valeur2 <> "" Then
            If Valeur1 = Valeur2 Or _
               InStr(1, Valeur1, ", " & Valeur2) Or _
               InStr(1, Valeur1, Valeur2 & ",") Then
                Target.Value = Valeur1
            Else
                Target.Value = Valeur1 & ", " & Valeur2
            End If
        End If
    End If
End If
Stpevt = False
End Sub

Cordialement

C'est exactement ça!!!!!!! merci beaucoup

Mais parce qu'il y a toujours un "mais", si jamais je me suis trompé et que je sélectionne par erreur une (par ex "OB"), comment je peux le "désélectionner"?

merci

Vous devrez effacer la cellule et recommencer l'opération complètement. Ou alors il faut faire des bidouilles. Par exemple en demandant de confirmer la valeur choisie. C'est moins interactif je pense.

Ok

Merci en tout cas pour la rapidité de réponse, la connaissance et le partage

@+ Dan Bonjour,

Comment je fais si je veux ajouté la cellule I43 de la feuille 1 avec la liste t3 à t9 de la feuille 2?
Et comment à l'avenir faire si jamais je rajoute des conditions à ces liste?

Merci d'avance

Bonjour,

Faites comme ceci :
- Dans la feuille 1, positionnez vous sur I43
- Allez dans le menu Excel --> Données
- Dans "outil de données", choisir "liste de validation"
- Dans la rubrique "Autoriser", choisir "Liste"
- Dans "Source", mettez cette formule --> =DECALER(Feuil2!$T$3;;;NBVAL(Feuil2!$T:$T)-1)

Cordialement

Merci pour l'aide

Rechercher des sujets similaires à "liste deroulante selection multiple"