Microsoft 365 Rechercher en fonction d'un choix dans une liste de validation

  • Initiateur de la discussion Initiateur de la discussion natorp
  • 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 !

natorp

XLDnaute Barbatruc
Bonjour à toutes et tous

Après fait un choix de marché dans une liste de validation, j'ai besoin d'afficher les entreprises figurant dans le marché choisi depuis un autre onglet

Merci pour votre aide, cordialement, Gérard
 

Pièces jointes

Bonsoir Natorp,
Un essai en PJ avec :
Chaine recherchée :
VB:
=STXT(Généralités!J2;1+CHERCHE("(";Généralités!J2);CHERCHE(")";Généralités!J2)-CHERCHE("(";Généralités!J2)-1)
Liste :
Code:
=SIERREUR(INDEX($F$2:$F$100;1+PETITE.VALEUR(SI(NON(ESTERREUR(CHERCHE($J$2;$B$2:$B$100)));LIGNE($B$2:$B$100)-LIGNE($B$2); "zz"); LIGNE()-LIGNE($B$2))); "fini")
Validation par Maj+Ctrl+Entrée car matricielle.
Liste déroulante sans vide :
Code:
=DECALER(ListeEmail0;0;0;NB.SI(ListeEmail;"<>fini"))
 

Pièces jointes

Re,
Ou encore en VBA avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [J2]) Is Nothing Then
        Dim DL%, Tliste, ListeName$, i%
         AccordCadre = Target
         DL = Sheets("Marchés").[A65500].End(xlUp).Row
         Tliste = Sheets("Marchés").Range("A2:F" & Sheets("Marchés").[A65500].End(xlUp).Row)
         ListName = "="
         For i = 1 To UBound(Tliste)
            Tliste(i, 1) = Tliste(i, 1) & " (" & Tliste(i, 2) & ")"
            If Tliste(i, 1) = AccordCadre Then
                ListeName = ListeName & Tliste(i, 6) & ","
            End If
         Next i
         ListeName = Mid(ListeName, 1, Len(ListeName) - 1) ' On retire le dernier ";"
         With Range("J8:J22").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=ListeName
    End With
    End If
Fin:
End Sub
La liste déroulante est reconstituée automatiquement lorsqu'on modifie la valeur de l'accord cadre en J2.
 

Pièces jointes

Merci pour vos réponses

Vgendron : merci c'est bien ce que je cherche

Sylvanu : je pense que je ne me suis pas bien expliqué :
après avoir choisi le marché en J2, les données viennent se mettre toutes seules en F8, C8, I8 et J8 et sur les lignes suivantes pour toutes les entreprises du marché choisi

cordialement, Gérard
 
Vgendron : Merci beaucoup, j'ai trouvé un petit tuto sur le net, et je vais garder ton lien précieusement
Une question : est-il possible de rendre la tableau structuré "dynamique" ?
C'est à dire qu'il évolue en fonction d'un nombre de lignes variables ?
Par contre : lorsque qu'il n'y a pas d'information dans l'une des cellules de l'onglet "Marchés" la formule renvoie "0" dans l'onglet "Généralités"
Merci pour ton aide précieuse, cordialement, Gérard
 
- 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

Discussions similaires

Réponses
6
Affichages
64
Réponses
15
Affichages
344
Retour