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

XL 2010 Faire une recherche d'une partie d'une cellule en fonction d'une table

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 !

niiiiiiiiiico

XLDnaute Occasionnel
Bonjour à tous,

Dans une colonne, j'ai plusieurs CP/villes et je souhaite extraire les couples cp/villes dont le CP est présent sur un autre onglet. En PJ, j'ai mis manuellement en rose ce que je souhaiterais obtenir

Merci pour votre aide 🙂

edit : ce que je souhaite obtenir de manière automatique, ce sont les cellules en M et N
 

Pièces jointes

Dernière édition:
Bonsoir

Une possibilité en pièce jointe pour la cellule M3. Ce n'est pas idéal car :
* La formule (matricielle, donc à valider avec Ctrl+maj+entrer) est vraiment lourde
* Elle ne peut afficher que 8 CP au max (On peut rallonger la formule pour en obtenir plus, mais ce n'est vraiment pas très fin)
* Elle affiche aussi le nom des villes correspondantes que si ceux-ci sont rajoutés dans la seconde feuille (dans E3:E8).

@ plus

P.S : "j'ai mis manuellement en rose", ou plutôt "j'ai mis manuellement dans une cellule en rose"
 

Pièces jointes

Dernière édition:
Bonsoir à tous, 🙂

Pour t'aider
Résultat feuille "data 1" en M3 et N3
VB:
Option Explicit
Sub test()
Dim dico As Object, r As Range, cp As String, cf As String, e
    Set dico = CreateObject("Scripting.Dictionary")
    dico.CompareMode = 1
    With Sheets("CP zone acp")
        For Each r In .Range("d3", .Range("d" & .Rows.Count).End(xlUp))
            dico(CStr(r.Value)) = Empty
        Next
    End With
    With Sheets("data 1")
        For Each e In Split(.Cells(3, 4).Value, Chr(10))
            cp = Left(e, 5): cf = Right(e, Len(e) - 6)
            If dico.exists(cp) Then
                .Cells(3, 13).Value = .Cells(3, 13).Value & IIf(.Cells(3, 13).Value = Empty, Empty, Chr(10)) & e
            Else
                .Cells(3, 14).Value = .Cells(3, 14).Value & IIf(.Cells(3, 14).Value = Empty, Empty, Chr(10)) & e
            End If
        Next
    End With
End Sub
klin89
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…