XL 2016 [RESOLU] PB formule matricielle

aragdur

XLDnaute Junior
Salut,

J'ai un bug sur ma formule matricielle que je n'arrive pas à résoudre.

A la base, je cherchais à faire une extraction d'une liste de données (situé en tableau saisie B2:B) pour la coller/trier alpha/sans vide/sans doublon en tableau données L3:L.

la voici :
{=SIERREUR(INDEX('Tableau de saisie'!$B$2:$B10;EQUIV(PETITE.VALEUR(SI(EQUIV(SI(NB.SI('Tableau de saisie'!$B$2:$B10;"<="&'Tableau de saisie'!$B$2:$B10)=0;"";NB.SI('Tableau de saisie'!$B$2:$B10;"<="&'Tableau de saisie'!$B$2:$B10));SI(NB.SI('Tableau de saisie'!$B$2:$B10;"<="&'Tableau de saisie'!$B$2:$B10)=0;"";NB.SI('Tableau de saisie'!$B$2:$B10;"<="&'Tableau de saisie'!$B$2:$B10));0)=LIGNE($2:$10);NB.SI('Tableau de saisie'!$B$2:$B10;"<="&'Tableau de saisie'!$B$2:$B10);"");LIGNE('Tableau de saisie'!B2)+1);SI(EQUIV(SI(NB.SI('Tableau de saisie'!$B$2:$B10;"<="&'Tableau de saisie'!$B$2:$B10)=0;"";NB.SI('Tableau de saisie'!$B$2:$B10;"<="&'Tableau de saisie'!$B$2:$B10));SI(NB.SI('Tableau de saisie'!$B$2:$B10;"<="&'Tableau de saisie'!$B$2:$B10)=0;"";NB.SI('Tableau de saisie'!$B$2:$B10;"<="&'Tableau de saisie'!$B$2:$B10));0)=LIGNE($2:$10);NB.SI('Tableau de saisie'!$B$2:$B10;"<="&'Tableau de saisie'!$B$2:$B10);"");0));"")}

cdlt
 

Pièces jointes

  • Inscriptions Show.xlsm
    2.1 MB · Affichages: 30

aragdur

XLDnaute Junior
bonjour
pas trouvé l'erreur,fait un code
liste en L, mise à jour si la feuille tableau de données est activée
code dans module6

Flûte,

pas de veine, ça me créé un problème avec ma macro principal des filtres.
Y a t'il moyen de faire la même procédure mais sans créer des colonnes sur mon tableau de saisie stp ?
Ou alors les créer vers le tableau de données ... c'est mon fourre tout :)

@+
 

Bebere

XLDnaute Barbatruc
un autre code directement dans colonne O de tableau de données
pour les dates,il suffit de changer B en C dans range
Code:
Public Sub LieuSansDoublon()
    Dim L As Long, rng As Range, a()

    With Worksheets("Tableau de saisie")
        L = .Range("B10000").End(xlUp).Row
        Set rng = .Range("B2:B" & L)
        rng.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
    End With
    a = rng.SpecialCells(xlCellTypeVisible).Value
    L = Worksheets("Tableau de données").Range("O10000").End(xlUp).Row + 1
    Sheets("Tableau de données").Range("O" & L).Resize(UBound(a, 1), LBound(a, 2)) = a

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 230
Membres
103 160
dernier inscrit
Torto