Extraire les données d'une plage sans les doublons

Le
Michel Ménard
Bonjour

J'utilise la formule suivante pour extraire les données d'une plage sans les
doublons .

La formule fonctionne très bien pour 100 , 200 , 500 lignes .Après c'est
pénible . Programme ne réponds pas

J'ai des fichiers de 4000 , 5000 lignes .
Quelqu'un peux-t-il m'éclairer.
Ou vais -je devoir aller avec une macro ?!

=(INDEX($A:$A,MIN(SI(NB.SI(B$1:B1,$A$1:$A$100)=0,LIGNE($A$1:$A$100))))&"")


Merci

M
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #5137291
Ta première ligne doit avoir une ligne d'étiquette

En supposant que l'étiquette de la colonne où se trouve des doublons se nomme "denis"
tu baptises une nouvelle colonne au nom "denis", cette nouvelle colonne recevra les
données de la première colonne "denis" sans doublons.

Tu sélectionnes ta colonne
tu appelles la commande données / filtre / filtre élaborée
et dans cette fenêtre :
A ) tu coches dans le bas de celle-ci "Sans doublons"
B ) tu coches l'options "copier vers un autre emplacement"
C ) Tu laisses vide la zone de critère
D ) copier vers : tu indiques la cellule d'étiquette nommé "denis"

et tu lances le filtre.


"Michel Ménard"
Bonjour

J'utilise la formule suivante pour extraire les données d'une plage sans les
doublons .

La formule fonctionne très bien pour 100 , 200 , 500 lignes .Après c'est
pénible . Programme ne réponds pas

J'ai des fichiers de 4000 , 5000 lignes .
Quelqu'un peux-t-il m'éclairer.
Ou vais -je devoir aller avec une macro ?!

=(INDEX($A:$A,MIN(SI(NB.SI(B$1:B1,$A$1:$A$100)=0,LIGNE($A$1:$A$100))))&"")


Merci

M
Jean MARTIN
Le #5137071
Télécharger MOREFUNC de Laurent Longre. Il y a dans le paquet une fonction
"VALEUR UNIQUE" qui, me semble-t-il, répond à ta question

Jean

"Michel Ménard" news:
Bonjour

J'utilise la formule suivante pour extraire les données d'une plage sans
les doublons .

La formule fonctionne très bien pour 100 , 200 , 500 lignes .Après c'est
pénible . Programme ne réponds pas

J'ai des fichiers de 4000 , 5000 lignes .
Quelqu'un peux-t-il m'éclairer.
Ou vais -je devoir aller avec une macro ?!


=(INDEX($A:$A,MIN(SI(NB.SI(B$1:B1,$A$1:$A$100)=0,LIGNE($A$1:$A$100))))&"")


Merci

M





JB
Le #5137011
Bonjour,


Function SansDoublons(champ As Range)
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In champ
If Not mondico.Exists(c.Value) And c.Value <> "" Then mondico.Add
c.Value, c.Value
Next c
SansDoublons = Application.Transpose(mondico.items)
End Function

Function SansDoublons2(champ As Range)
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In champ
If Not mondico.Exists(c.Value) And c.Value <> "" Then mondico.Add
c.Value, c.Value
Next c
Dim temp()
ReDim temp(1 To champ.Count)
i = 1
For Each c In mondico.items
temp(i) = c
i = i + 1
Next
SansDoublons2 = Application.Transpose(temp)
End Function

http://boisgontierjacques.free.fr/fichiers/fonctionsperso/FonctionSansDoublo ns3.xls

JB

On 24 jan, 20:20, "Michel Ménard"
Bonjour

J'utilise la formule suivante pour extraire les données d'une plage sans les
doublons .

La formule fonctionne très bien pour 100 , 200 , 500 lignes .Après c'e st
pénible . Programme ne réponds pas

J'ai des fichiers de 4000 , 5000 lignes   .
Quelqu'un peux-t-il m'éclairer.
Ou vais -je devoir aller avec une macro ?!

            =(INDEX($A:$A,MIN(SI(NB.SI(B$1:B1,$A$1:$A$100) =0,LIGNE($A$1:$A$100))))&"")

      Merci

      M


Publicité
Poster une réponse
Anonyme