Extraire valeurs uniques d'une colonne

leprofesseur

XLDnaute Nouveau
Bonjour à tous,

Dans le tableau en annexe, la majorité des numéros "contrats" est en double.
Je cherche à identifier les contrats qui n'apparaissent pas en double, afin de les retirer de la liste.

Je crois que la fonction "NB.SI" pourrait m'aider, mais je tourne en rond...

Quelqu'un a une solution ?

Merci d'avance et bonne journée à tous !

Pascal
 

Pièces jointes

  • TEST NB CONTRAT.xlsx
    30.4 KB · Affichages: 145

Dormeur74

XLDnaute Occasionnel
Re : Extraire valeurs uniques d'une colonne

Si une macro peut faire l'affaire, pas de problème. Code expliqué dans les remarques. C'est bourrin, mais ça marche.
 

Pièces jointes

  • doublons.xls
    176.5 KB · Affichages: 232
  • doublons.xls
    176.5 KB · Affichages: 281
  • doublons.xls
    176.5 KB · Affichages: 284

natorp

XLDnaute Accro
Re : Extraire valeurs uniques d'une colonne

Bjr Pascal

Est-il nécessaire d'identifier les numéros solitaires dans une autre colonne, ou les supprimer purement et simplement ?
Est-ce qu'il faut garder les numéros en double, ou une ligne de ces numéros suffit ?

Cordialement, Gérard
 

leprofesseur

XLDnaute Nouveau
Re : Extraire valeurs uniques d'une colonne

Bjr Pascal

Est-il nécessaire d'identifier les numéros solitaires dans une autre colonne, ou les supprimer purement et simplement ?
Est-ce qu'il faut garder les numéros en double, ou une ligne de ces numéros suffit ?

Cordialement, Gérard

Bonjour Gérard,

il s'agit en effet de supprimer simplement les numéros "solitaires".

Merci
 

natorp

XLDnaute Accro
Re : Extraire valeurs uniques d'une colonne

Re

Voici une solution inspirée du site de M. Boisgontier : Formation Excel VBA JB

Code:
Sub sup()
   Application.ScreenUpdating = False
   Application.Calculation = xlCalculationManual
   For i = [A65000].End(xlUp).Row To 2 Step -1
   If Cells(i, 1) <> Cells(i - 1, 1) Then Rows(i).Delete
   Next i
   Application.Calculation = xlCalculationAutomatic
End Sub

A voir si cela convient
Cordialement, Gérard
 

natorp

XLDnaute Accro
Re : Extraire valeurs uniques d'une colonne

Dormeur

Il supprime la ligne si les cellules comparées sont différentes :
If Cells(i, 1) <> Cells(i - 1, 1) Then Rows(i).Delete

par contre il ne ré-écrit qu'une seule fois le doublon

et chez moi ça marche...

Cordialement, Gérard
 

david84

XLDnaute Barbatruc
Re : Extraire valeurs uniques d'une colonne

Bonjour,
apparemment, tu veux une formule. Le problème est que tu dois utiliser une matricielle et vu la dimension de ta plage à traiter, cela est très long.
Une méthode te permettant de réduire considérablement le temps de calcul :
- sélectionner en colonne B une plage de dimension identique à cella de la colonne A, soit dans ton exemple B2:B1425
- rentrer la formule suivante :
Code:
=SIERREUR(INDEX(A$2:A$1425;PETITE.VALEUR(SI(NB.SI(A$2:A$1425;A$2:A$1425)=1;LIGNE(INDIRECT("1:"&LIGNES(A$2:A$1425))));LIGNE(INDIRECT("1:"&LIGNES(A$2:A$1425)))));"")
- la valider en matriciel.
Le temps de recalcul est très court pour une formule matricielle.

Maintenant, il est possible de passer par VBA (et là différentes possibilités existent).
A+
 

david84

XLDnaute Barbatruc
Re : Extraire valeurs uniques d'une colonne

Re
Euh, comment valide-t-on en "matricielle" ?
Appui simultané sur les touches Ctrl, Maj eet entrée du clavier.
Je croyais en fait qu'il y'avait une solution plus simple, moi je veux juste qu'Excel me montre les valeurs uniques, que je puisse les supprimer via un filtre par ex..
Dans ce cas :
Code:
=NB.SI(A$2:A$1425;A2)=1
à tirer vers le bas. Tu n'auras plus qu'à filtrer sur VRAI pour obtenir les valeurs présentes une seule fois.
A+
 

Discussions similaires

Haut Bas