Problème de filtrage sur l'Excel

Bonjour,

Je voudrais tirer une liste ou une groupe des noms donnés à partir d'une grande liste sur l'excel ,le filtrage alphabétique ne m'arrange pas . (tirer 1500 noms d'une liste de 10000 noms ,c'est beaucoup de filtrer nom par nom ), que dois je faire?

mon objectif est de remplir les adresses manquantes de la petite liste

merci de me répondre

Bonjour,

Il faut utiliser une fonction matricielle sommeprod, mais là je n'ai plus la syntaxe sous le nez. Demain si j'ai le temps, je te trouve ça.

Re, j'ai trouvé une autre solution beaucoup plus simple.

Ci-joint le fichier (par mesure de simplification, j'ai fait 1 seul fichier de tes 2 tableaux).

L'astuce est de concaténer le nom et le prénom dans une autre colonne et de faire une simple RECHERCHEV dans la colonne adresse de ta petite liste.

Bonjour à tous et meilleurs vœux pour 2012,

Autre solution avec filtre

à noter qu'il y a quelques doublons de noms-prénoms avec des adresses différentes en Feuil1

Sub Adresses() 'extrait les communs aux feuilles 1 et 2
Dim lg%, f1 As Worksheet, f2 As Worksheet
    Application.ScreenUpdating = False
    Set f1 = Sheets("Feuil1")
    Set f2 = Sheets("petite")

        Sheets("résultat").Activate
    lg = Application.Max( _
        f1.Cells.Find("*", , , , xlByRows, xlPrevious).Row, _
        f2.Cells.Find("*", , , , xlByRows, xlPrevious).Row)
    '--- insère colonne A et concatène Nom et Prénom ---
        f1.Columns("a").Insert
        f1.Range("a2:a" & lg) = "=b2&c2"
        f2.Columns("a").Insert
        f2.Range("a2:a" & lg) = "=b2&c2"
    '--- filtre communs colonne A (Nom et Prénom cocaténés) ---
    Range("g2") = "=COUNTIF(petite!a2:a" & lg & ",Feuil1!a2)>0"     'critère
    f1.Range("a1:d" & lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
    Range("g1:g2"), CopyToRange:=Range("a1:c1"), Unique:=True
    Range("g2").ClearContents
    '---
    f1.Columns("a").Delete
    f2.Columns("a").Delete
End Sub

Voir feuille "résultat"

Amicalement

Claude

Nouvelle solution sans concaténer nom-prénom avec la formule matricielle. (en cas de changement valider la formule avec CTRL-MAJ-ENTREE).

=INDEX(plageAdresse;MAX(SI(($A2=plageNom)*($B2=plagePrenom);LIGNE(plageAdresse);-1)))

Ci-joint le fichier.

merci Chrix

merci DUBOIS

Chrix a écrit :

Nouvelle solution sans concaténer nom-prénom avec la formule matricielle. (en cas de changement valider la formule avec CTRL-MAJ-ENTREE).

=INDEX(plageAdresse;MAX(SI(($A2=plageNom)*($B2=plagePrenom);LIGNE(plageAdresse);-1)))

Ci-joint le fichier.

Bonjour,

j'essaie de me mettre aux formules matricielle, et celle-là m'interresse. Pourrais-tu nous la détailler / expliquer, stp.

Merci

Rechercher des sujets similaires à "probleme filtrage"