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

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

  • calcul (2).xlsx
    12 KB · Affichages: 46
Dernière édition:

CISCO

XLDnaute Barbatruc
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

  • calcul (2).xlsx
    17.8 KB · Affichages: 36
Dernière édition:

klin89

XLDnaute Accro
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
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87