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

Lier deux listes deroulantes (Résolu)

  • Initiateur de la discussion Initiateur de la discussion Gabriel7
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

Gabriel7

Guest
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

Dernière modification par un modérateur:
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

Dernière édition:
Re : Lier deux listes deroulantes

Merci Boisgontier,

c'est exactement le code que je cherchais. Vous êtes génial. Que dire de plus... 😀

Cordialement

Gabriel7
 
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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
265
Réponses
18
Affichages
584
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…