Lier deux listes deroulantes (Résolu)

Gabriel7

XLDnaute Nouveau
Bonjour à vous,

Je cherche à pouvoir lier deux listes déroulantes entre elles mais je ne sais pas comment m'y prendre.

Voici ce que j'aimerais pouvoir faire. Dans la 1ère liste déroulante (colonne E), je peux choisir un chiffre compris entre 0 et 4.
Dans la deuxième liste (colonne G), j ai une liste de noms.

Je souhaiterais pouvoir mettre en relation les deux liste en faisant ceci :

Si je cliques sur 1 (colonne E), je souhaite pouvoir choisir un nom dans la liste colonne G
Si je clique sur 2, je souhaite pouvoir choisir 2 noms (n'importe lesquels) dans la liste colonne G et les intégrer tous les deux dans la cellule.
Si je clique sur 3, Je souhaite pouvoir choisir 3 nom dans la liste de la colonne G, et intégrer les 3 noms dans la cellule.

ETC...

Est ce que cela est possible?

Je vous envoie le fichier sur lequel je voudrais travailler.

D'avance merci de votre aide

Gabriel7
 

Pièces jointes

  • Classeur1.xls
    26 KB · Affichages: 59
  • Classeur1.xls
    26 KB · Affichages: 63
  • Classeur1.xls
    26 KB · Affichages: 49
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Lier deux listes deroulantes

Bonsoir,

Voir PJ

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect([G2:G100], Target) Is Nothing And Target.Count = 1 Then
     Application.EnableEvents = False
     ValSaisie = Target
     Application.Undo
     npoint = Len(Target) - Len(Replace(Target, ":", ""))
     p = InStr(Target, ValSaisie)
     If p > 0 Then
       Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 1)
       If Right(Target, 1) = ":" Then
          Target = Left(Target, Len(Target) - 1)
       End If
     Else
       If Target = "" Then
         Target = ValSaisie
       Else
        If npoint < Cells(Target.Row, Target.Column - 2) - 1 Then
          Target = Target & ":" & ValSaisie
        End If
       End If
     End If
     Application.EnableEvents = True
   End If
End Sub

JB
 

Pièces jointes

  • Copie de Classeur1.xls
    39 KB · Affichages: 101
  • Copie de Classeur1.xls
    39 KB · Affichages: 76
  • Copie de Classeur1.xls
    39 KB · Affichages: 74
Dernière édition:

Gabriel7

XLDnaute Nouveau
Re : Lier deux listes deroulantes (Résolu)

Re bonsoir,

J'ai une question complémentaire à ce programme. Je souhaiterais pouvoir appliquer ce même code a d'autres colonnes.

J ai une première série avec les colonnes E et G que vous avez résolu. Je souhaiterais pouvoir également l'appliquer sur les colonnes J et L, sur les colonnes O et Q, sur les colonnes T et V, sur les colonne Y et AA ainsi que sur les colonnes AD et AF.

Comment intégrer ces colonnes dans le code?

Encore merci et merci d'avance pour ce nouveau code

Cordialement

Gabriel7
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Lier deux listes deroulantes (Résolu)

Voir PJ


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Range("G2:G100,L2:L100,Q2:Q100"), Target) Is Nothing And Target.Count = 1 Then
     Application.EnableEvents = False
     ValSaisie = Target
     Application.Undo
     npoint = Len(Target) - Len(Replace(Target, ":", ""))
     p = InStr(Target, ValSaisie)
     If p > 0 Then
       Target = Left(Target, p - 1) & Mid(Target, p + Len(ValSaisie) + 1)
       If Right(Target, 1) = ":" Then
          Target = Left(Target, Len(Target) - 1)
       End If
     Else
       If Target = "" Then
         Target = ValSaisie
       Else
        If npoint < Cells(Target.Row, Target.Column - 2) - 1 Then
          Target = Target & ":" & ValSaisie
        End If
       End If
     End If
     Application.EnableEvents = True
   End If
End Sub

JB
 

Pièces jointes

  • Copie de Classeur1.xls
    41.5 KB · Affichages: 52
  • Copie de Classeur1.xls
    41.5 KB · Affichages: 55
  • Copie de Classeur1.xls
    41.5 KB · Affichages: 56

Discussions similaires

Statistiques des forums

Discussions
312 185
Messages
2 086 016
Membres
103 093
dernier inscrit
Molinari