OVH Cloud OVH Cloud

Effacement de doublons

13 réponses
Avatar
AZERTY
Bonjour à tous,

dans une liste, j'aurai besoin d'effacer les doublons sauf la ligne avec la
date la plus récente, le tout trié par date.Je m'explique par lexemple:


Avant:


NUM QTE DATE

1014 8 31-01-2005
1015 6 31-01-2005
1015 4 31-12-2004
1015 6 28-02-2005
1016 6 31-01-2005
1016 4 11-02-2005

Après:

NUM QTE DATE

1014 8 31-01-2005
1015 6 28-02-2005
1016 4 11-02-2005

Comment puis-je m'y prendre?


Merci.

Az.

10 réponses

1 2
Avatar
MichDenis
Bonjour Azerty,

Tri ton tableau sur le champ "Date" en ordre DÉCROISSANT ...

Utilises le filtre élaboré sur LA COLONNE qui te sert pour déterminer les entrées en doublon ... tu n'as pas besoin de
renseigner un critère dans la fenêtre du filtre élaboré .. seulement de ne pas oublier de cocher dans le bas de la
fenêtre "Sans doublon" ... les données qui s'afficheront seront les doublons ....

Tu n'as qu'à supprimer les lignes visibles du tableau.

Pour ce faire,
A ) sélectionne tout ton tableau
B ) barre des menus / Édition / atteindre / cellules / cellules visibles seulement
C ) .Édition / supprimer
D ) Afficher les lignes masquées par le filtre ...!


Salutations!



"AZERTY" a écrit dans le message de news: d0mjvg$rm1$
Bonjour à tous,

dans une liste, j'aurai besoin d'effacer les doublons sauf la ligne avec la
date la plus récente, le tout trié par date.Je m'explique par lexemple:


Avant:


NUM QTE DATE

1014 8 31-01-2005
1015 6 31-01-2005
1015 4 31-12-2004
1015 6 28-02-2005
1016 6 31-01-2005
1016 4 11-02-2005

Après:

NUM QTE DATE

1014 8 31-01-2005
1015 6 28-02-2005
1016 4 11-02-2005

Comment puis-je m'y prendre?


Merci.

Az.
Avatar
Ellimac
Bonjour,

Une solution simple avec le tableau croisé dynamique avec
ton champ Num en ligne ton cham date en données avec la
fonction max et un format de date.

Camille

-----Message d'origine-----
Bonjour à tous,

dans une liste, j'aurai besoin d'effacer les doublons
sauf la ligne avec la

date la plus récente, le tout trié par date.Je m'explique
par lexemple:



Avant:


NUM QTE DATE

1014 8 31-01-2005
1015 6 31-01-2005
1015 4 31-12-2004
1015 6 28-02-2005
1016 6 31-01-2005
1016 4 11-02-2005

Après:

NUM QTE DATE

1014 8 31-01-2005
1015 6 28-02-2005
1016 4 11-02-2005

Comment puis-je m'y prendre?


Merci.

Az.


.



Avatar
papou
Bonjour
Regarde par ici il y a des propositions de solutions :
http://www.excelabo.net/xl/comparer.php
Cordialement
Pascal

"AZERTY" a écrit dans le message de
news:d0mjvg$rm1$
Bonjour à tous,

dans une liste, j'aurai besoin d'effacer les doublons sauf la ligne avec
la

date la plus récente, le tout trié par date.Je m'explique par lexemple:


Avant:


NUM QTE DATE

1014 8 31-01-2005
1015 6 31-01-2005
1015 4 31-12-2004
1015 6 28-02-2005
1016 6 31-01-2005
1016 4 11-02-2005

Après:

NUM QTE DATE

1014 8 31-01-2005
1015 6 28-02-2005
1016 4 11-02-2005

Comment puis-je m'y prendre?


Merci.

Az.




Avatar
AZERTY
C'est presque exactement ça !
Et ça presque marche !

Sauf que ce sont les cellules invisibles que je veux supprimer du tableau !


Comment supprime-je les dans ce cas ?

Az.



"MichDenis" a écrit dans le message de news:
%
Bonjour Azerty,

Tri ton tableau sur le champ "Date" en ordre DÉCROISSANT ...

Utilises le filtre élaboré sur LA COLONNE qui te sert pour déterminer les
entrées en doublon ... tu n'as pas besoin de
renseigner un critère dans la fenêtre du filtre élaboré .. seulement de ne
pas oublier de cocher dans le bas de la
fenêtre "Sans doublon" ... les données qui s'afficheront seront les
doublons ....

Tu n'as qu'à supprimer les lignes visibles du tableau.

Pour ce faire,
A ) sélectionne tout ton tableau
B ) barre des menus / Édition / atteindre / cellules / cellules visibles
seulement
C ) .Édition / supprimer
D ) Afficher les lignes masquées par le filtre ...!


Salutations!



"AZERTY" a écrit dans le message de news:
d0mjvg$rm1$
Bonjour à tous,

dans une liste, j'aurai besoin d'effacer les doublons sauf la ligne avec
la
date la plus récente, le tout trié par date.Je m'explique par lexemple:


Avant:


NUM QTE DATE

1014 8 31-01-2005
1015 6 31-01-2005
1015 4 31-12-2004
1015 6 28-02-2005
1016 6 31-01-2005
1016 4 11-02-2005

Après:

NUM QTE DATE

1014 8 31-01-2005
1015 6 28-02-2005
1016 4 11-02-2005

Comment puis-je m'y prendre?


Merci.

Az.





Avatar
MichDenis
Bonjour Azerty,

Si tu as pris soin d'effectuer un tri décroissant sur la colonne les dates sur ta plage de données, lorsque tu appliques
un filtre élaboré, le filtre retient la première occurrence de la donnée. En conséquence, tous les enregistrements
trouvés en doublons seront ceux qui sont dont les dates est les plus anciennes.

Après le filtre, ce n'est pas ce que tu obtiens ?


Salutations!




"AZERTY" a écrit dans le message de news: d0mt8p$2ba$
C'est presque exactement ça !
Et ça presque marche !

Sauf que ce sont les cellules invisibles que je veux supprimer du tableau !


Comment supprime-je les dans ce cas ?

Az.



"MichDenis" a écrit dans le message de news:
%
Bonjour Azerty,

Tri ton tableau sur le champ "Date" en ordre DÉCROISSANT ...

Utilises le filtre élaboré sur LA COLONNE qui te sert pour déterminer les
entrées en doublon ... tu n'as pas besoin de
renseigner un critère dans la fenêtre du filtre élaboré .. seulement de ne
pas oublier de cocher dans le bas de la
fenêtre "Sans doublon" ... les données qui s'afficheront seront les
doublons ....

Tu n'as qu'à supprimer les lignes visibles du tableau.

Pour ce faire,
A ) sélectionne tout ton tableau
B ) barre des menus / Édition / atteindre / cellules / cellules visibles
seulement
C ) .Édition / supprimer
D ) Afficher les lignes masquées par le filtre ...!


Salutations!



"AZERTY" a écrit dans le message de news:
d0mjvg$rm1$
Bonjour à tous,

dans une liste, j'aurai besoin d'effacer les doublons sauf la ligne avec
la
date la plus récente, le tout trié par date.Je m'explique par lexemple:


Avant:


NUM QTE DATE

1014 8 31-01-2005
1015 6 31-01-2005
1015 4 31-12-2004
1015 6 28-02-2005
1016 6 31-01-2005
1016 4 11-02-2005

Après:

NUM QTE DATE

1014 8 31-01-2005
1015 6 28-02-2005
1016 4 11-02-2005

Comment puis-je m'y prendre?


Merci.

Az.





Avatar
AZERTY
Si justement, ce que j'obtiens, c'est exactement ce que j'attends. Je veux
donc supprimer ce qui n'est plus visible. Si c'est possible, il faudrait que
je ne puisse sélectionner que les cellules invisibles pour les supprimer.
Dans tes points B) et C), je sélectionne les cellules visibles uniquement et
je les supprime. C'est donc le contraire de ce que je voudrais faire.


Az



"MichDenis" a écrit dans le message de news:

Bonjour Azerty,

Si tu as pris soin d'effectuer un tri décroissant sur la colonne les dates
sur ta plage de données, lorsque tu appliques
un filtre élaboré, le filtre retient la première occurrence de la donnée.
En conséquence, tous les enregistrements
trouvés en doublons seront ceux qui sont dont les dates est les plus
anciennes.

Après le filtre, ce n'est pas ce que tu obtiens ?


Salutations!




"AZERTY" a écrit dans le message de news:
d0mt8p$2ba$
C'est presque exactement ça !
Et ça presque marche !

Sauf que ce sont les cellules invisibles que je veux supprimer du tableau
!


Comment supprime-je les dans ce cas ?

Az.



"MichDenis" a écrit dans le message de news:
%
Bonjour Azerty,

Tri ton tableau sur le champ "Date" en ordre DÉCROISSANT ...

Utilises le filtre élaboré sur LA COLONNE qui te sert pour déterminer les
entrées en doublon ... tu n'as pas besoin de
renseigner un critère dans la fenêtre du filtre élaboré .. seulement de
ne
pas oublier de cocher dans le bas de la
fenêtre "Sans doublon" ... les données qui s'afficheront seront les
doublons ....

Tu n'as qu'à supprimer les lignes visibles du tableau.

Pour ce faire,
A ) sélectionne tout ton tableau
B ) barre des menus / Édition / atteindre / cellules / cellules visibles
seulement
C ) .Édition / supprimer
D ) Afficher les lignes masquées par le filtre ...!


Salutations!



"AZERTY" a écrit dans le message de news:
d0mjvg$rm1$
Bonjour à tous,

dans une liste, j'aurai besoin d'effacer les doublons sauf la ligne avec
la
date la plus récente, le tout trié par date.Je m'explique par lexemple:


Avant:


NUM QTE DATE

1014 8 31-01-2005
1015 6 31-01-2005
1015 4 31-12-2004
1015 6 28-02-2005
1016 6 31-01-2005
1016 4 11-02-2005

Après:

NUM QTE DATE

1014 8 31-01-2005
1015 6 28-02-2005
1016 4 11-02-2005

Comment puis-je m'y prendre?


Merci.

Az.










Avatar
MichDenis
Bonjour Azerty,

Oui, je vois ce que tu veux dire ... ;-))

au moment d'exécuter ton filtre élaboré,

Utilise une zone de critère par exemple :

G1 = tu laisses totalement vide
G2 = Nb.Si(PlageDoublon;A2)>1

A2 représente la première cellule de ta plage de données dans la colonne source de doublons

Et tu ne dois pas cocher dans la fenêtre du filtre élaboré "sans doublons"

Les enregistrements affichées seront ceux à supprimer ...!


Salutations!



"AZERTY" a écrit dans le message de news: d0mt8p$2ba$
C'est presque exactement ça !
Et ça presque marche !

Sauf que ce sont les cellules invisibles que je veux supprimer du tableau !


Comment supprime-je les dans ce cas ?

Az.



"MichDenis" a écrit dans le message de news:
%
Bonjour Azerty,

Tri ton tableau sur le champ "Date" en ordre DÉCROISSANT ...

Utilises le filtre élaboré sur LA COLONNE qui te sert pour déterminer les
entrées en doublon ... tu n'as pas besoin de
renseigner un critère dans la fenêtre du filtre élaboré .. seulement de ne
pas oublier de cocher dans le bas de la
fenêtre "Sans doublon" ... les données qui s'afficheront seront les
doublons ....

Tu n'as qu'à supprimer les lignes visibles du tableau.

Pour ce faire,
A ) sélectionne tout ton tableau
B ) barre des menus / Édition / atteindre / cellules / cellules visibles
seulement
C ) .Édition / supprimer
D ) Afficher les lignes masquées par le filtre ...!


Salutations!



"AZERTY" a écrit dans le message de news:
d0mjvg$rm1$
Bonjour à tous,

dans une liste, j'aurai besoin d'effacer les doublons sauf la ligne avec
la
date la plus récente, le tout trié par date.Je m'explique par lexemple:


Avant:


NUM QTE DATE

1014 8 31-01-2005
1015 6 31-01-2005
1015 4 31-12-2004
1015 6 28-02-2005
1016 6 31-01-2005
1016 4 11-02-2005

Après:

NUM QTE DATE

1014 8 31-01-2005
1015 6 28-02-2005
1016 4 11-02-2005

Comment puis-je m'y prendre?


Merci.

Az.





Avatar
AZERTY
On utilise la même version d'Excel ?
Parce que là je vois pas...
Je suis en XL 2002...

Az


"MichDenis" a écrit dans le message de news:

Bonjour Azerty,

Oui, je vois ce que tu veux dire ... ;-))

au moment d'exécuter ton filtre élaboré,

Utilise une zone de critère par exemple :

G1 = tu laisses totalement vide
G2 = Nb.Si(PlageDoublon;A2)>1

A2 représente la première cellule de ta plage de données dans la colonne
source de doublons

Et tu ne dois pas cocher dans la fenêtre du filtre élaboré "sans doublons"

Les enregistrements affichées seront ceux à supprimer ...!


Salutations!



"AZERTY" a écrit dans le message de news:
d0mt8p$2ba$
C'est presque exactement ça !
Et ça presque marche !

Sauf que ce sont les cellules invisibles que je veux supprimer du tableau
!


Comment supprime-je les dans ce cas ?

Az.



"MichDenis" a écrit dans le message de news:
%
Bonjour Azerty,

Tri ton tableau sur le champ "Date" en ordre DÉCROISSANT ...

Utilises le filtre élaboré sur LA COLONNE qui te sert pour déterminer les
entrées en doublon ... tu n'as pas besoin de
renseigner un critère dans la fenêtre du filtre élaboré .. seulement de
ne
pas oublier de cocher dans le bas de la
fenêtre "Sans doublon" ... les données qui s'afficheront seront les
doublons ....

Tu n'as qu'à supprimer les lignes visibles du tableau.

Pour ce faire,
A ) sélectionne tout ton tableau
B ) barre des menus / Édition / atteindre / cellules / cellules visibles
seulement
C ) .Édition / supprimer
D ) Afficher les lignes masquées par le filtre ...!


Salutations!



"AZERTY" a écrit dans le message de news:
d0mjvg$rm1$
Bonjour à tous,

dans une liste, j'aurai besoin d'effacer les doublons sauf la ligne avec
la
date la plus récente, le tout trié par date.Je m'explique par lexemple:


Avant:


NUM QTE DATE

1014 8 31-01-2005
1015 6 31-01-2005
1015 4 31-12-2004
1015 6 28-02-2005
1016 6 31-01-2005
1016 4 11-02-2005

Après:

NUM QTE DATE

1014 8 31-01-2005
1015 6 28-02-2005
1016 4 11-02-2005

Comment puis-je m'y prendre?


Merci.

Az.










Avatar
ChrisV
Bonjour Azerty,

Selon les données de ton exemple, et avec la plage A1:C7 nommée ici Zn...

Sub zaza()
Dim i As Long, derL As Long
Application.ScreenUpdating = False
[Zn].Sort Key1:=[A2], Key2:=[C2], Header:=xlGuess
derL = [A65536].End(xlUp).Row
For i = derL To 2 Step -1
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 3) >= Cells(i - 1, 3)
Then
Rows(i - 1).Delete
End If
Next i
End Sub


ChrisV


"AZERTY" a écrit dans le message de news:
d0mjvg$rm1$
Bonjour à tous,

dans une liste, j'aurai besoin d'effacer les doublons sauf la ligne avec
la date la plus récente, le tout trié par date.Je m'explique par lexemple:


Avant:


NUM QTE DATE

1014 8 31-01-2005
1015 6 31-01-2005
1015 4 31-12-2004
1015 6 28-02-2005
1016 6 31-01-2005
1016 4 11-02-2005

Après:

NUM QTE DATE

1014 8 31-01-2005
1015 6 28-02-2005
1016 4 11-02-2005

Comment puis-je m'y prendre?


Merci.

Az.



Avatar
AZERTY
Salut et merci.
On en est pas loin, j'ai juste rajouté value pour les comparaisons de la
valeurs des cellules ( If Cells(i, 1).Value = Cells(i - 1, 1).Value )

Là où ça pose problème c'est dans
IF Cells(i, 3).Value >= Cells(i - 1, 3).Value Then

Comme ce sont des dates, comment puis-je faire cette comparaison?


Merci.

Az


"ChrisV" a écrit dans le message de news:

Bonjour Azerty,

Selon les données de ton exemple, et avec la plage A1:C7 nommée ici Zn...

Sub zaza()
Dim i As Long, derL As Long
Application.ScreenUpdating = False
[Zn].Sort Key1:=[A2], Key2:=[C2], Header:=xlGuess
derL = [A65536].End(xlUp).Row
For i = derL To 2 Step -1
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 3) >= Cells(i - 1, 3)
Then
Rows(i - 1).Delete
End If
Next i
End Sub


ChrisV


"AZERTY" a écrit dans le message de news:
d0mjvg$rm1$
Bonjour à tous,

dans une liste, j'aurai besoin d'effacer les doublons sauf la ligne avec
la date la plus récente, le tout trié par date.Je m'explique par
lexemple:


Avant:


NUM QTE DATE

1014 8 31-01-2005
1015 6 31-01-2005
1015 4 31-12-2004
1015 6 28-02-2005
1016 6 31-01-2005
1016 4 11-02-2005

Après:

NUM QTE DATE

1014 8 31-01-2005
1015 6 28-02-2005
1016 4 11-02-2005

Comment puis-je m'y prendre?


Merci.

Az.







1 2