Suppresion des doublons macro

anthonyhk

XLDnaute Junior
Bonjour,

J'ai fais une macro qui permet :

1/supprimer les doublons en prenant en compte les critères de la colonne A, D, E, F, G, H -> grâce au bouton supprimer doublons
2/le bouton mise en forme permet de creer autant d'onglet qu'il y ait de type de date (grâce à un filtre élaboré) et de copier coller les lignes correspondantes.

Le souci est que pour la suppresion des doublons, ex avec le libellé de valeur MADRID, BARCELONA, ARSENAL, JUVENTUS, après avoir lancé la suppression des doublons, pour chacune de ses valeurs il reste deux lignes. Une avec un identifiant dans suivi par et une autre avec le nombre 0.

avec la macro de suppression des doublons, je souhaiterai supprimer la ligne qui contient le nombre 0 aussi et ainqi ne garder que la ligne avec le suivi par avec un identifiant différent de 0.

Pouvez vous m'aider svp ?

Merci à vous !
 

Pièces jointes

  • agenda test.xls
    278 KB · Affichages: 61
  • agenda test.xls
    278 KB · Affichages: 60
  • agenda test.xls
    278 KB · Affichages: 69

DoubleZero

XLDnaute Barbatruc
Re : Suppresion des doublons macro

Bonjour, anthonyhk, le Forum,

Dans la macro "Sub sup_DoublonsFiltre()", ajouter, après :

Code:
Loop

ces trois lignes :

Code:
Columns(1).Replace What:="0", Replacement:=""
With Columns(2).SpecialCells(xlCellTypeConstants, 23): .Offset(, -1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete: End With
Application.ScreenUpdating = True


A bientôt :)
 

anthonyhk

XLDnaute Junior
Re : Suppresion des doublons macro

Bonjour Double éro,

Ta ligne supprime bien les lignes si dans la colonne A, la ligne correspondante contient 0.
Or ce que je souhaite c'est qu'il supprime une ligne si il exsite deux lignes existantes mais avec le "suivi par" différent.

Ex :

X128673 24/09/2014 2098801 S01 FR0000000028 ETR ARSENAL Paiement optionnel de div. Date de détachement
0 24/09/2014 2098802 S01 FR0000000028 ETR ARSENAL Paiement optionnel de div. Date de détachement

A387924 24/09/2014 1999104 S01 FR0000000008 ETR BARCELONA Reinvestissement du dividende Date de détachement
0 24/09/2014 1999105 S01 FR0000000008 ETR BARCELONA Reinvestissement du dividende Date de détachement

0 24/09/2014 2099787 S01 FR0000000010 FRA BAYERN Reinvestissement du dividende Date de détachement
0 24/09/2014 2097570 S01 FR0000000004 ETR BORDEAUX Reinvestissement du dividende Date de détachement

La macro supprimera la ligne qui ARSENAL et BARCELONA avec le "suivi par" = 0 et laissera ARSENAL et BARCELONA avvec le "suivi par" différent de 0.
De plus il gardera les lignes BAYERN et BORDEAUX avec le "suivi par" = 0 car il n'a pas une deuxième ligne avec un "suivi par" différent de 0.

Je ne sais pas si c'est clair :)
 

Dranreb

XLDnaute Barbatruc
Re : Suppresion des doublons macro

Bonjour.

Si, pour une même combinaison des valeurs de D à H il devait y avoir des informations différentes dans les colonnes B et C, lesquelles faudrait-il garder ?
Et pour A aussi d'ailleurs il y avait deux "Suivi par" différents de 0 et différents entre eux ?

Toujours garder la dernière chose trouvée par exemple ?

Par ailleurs êtes vous sûr qu'il soit nécessaire de chercher l'unicité de la combinaison de l'ensemble des colonnes D à H ? Au contraire des colonnes A et C, pour toute valeur de la D il n'y a en effet toujours actuellement qu'une seule combinaison de valeurs E à H.
 
Dernière édition:

anthonyhk

XLDnaute Junior
Re : Suppresion des doublons macro

Bonjour,

l'idéal serait que si il y a des informations identiques de la colonne D à H et que dans le colonne A il y a au moins "un suivi par" différent de 0, il garde la ligne où il y a l'information de la colonne A différent de 0.
Et si dans les informations identiques de la colonne D à H et que dans la colonne A il y a que des 0, il garde la ligne où il y a un 0 (il ne supprime pas toutes les lignes identiques de D à H avec un "suivi par" = 0; il garde au moins une ligne.

Merci :)
 

Dranreb

XLDnaute Barbatruc
Re : Suppresion des doublons macro

Bonjour.
Laquelle ? La dernière ?
Et s'il y a plusieurs "suivi par" différent de 0, doit il restituer les A, B et C de la dernière ligne d'entre eux trouvée ?
Par ailleurs êtes vous sûr qu'il faille chercher l'unicité de la combinaison de l'ensemble des colonnes D à H ? Au contraire des colonnes A et C, pour toute valeur de la D il n'y a en effet toujours actuellement dans vos exemple de données qu'une seule combinaison de valeurs E à H, comme si elle dépendait tout simplement de la D. Alors je m'interroge…
 
Dernière édition:

laetitia90

XLDnaute Barbatruc
Re : Suppresion des doublons macro

bonjour toute :):) & tous :)
une facon de faire a voir ??

Code:
Sub es()
 Dim m As Object, t(), t1(), i As Long, c As Byte, z
 Application.ScreenUpdating = 0
  Range("a11:h" & Cells.Find("*", , , , , xlPrevious).Row).Sort _
 Key1:=Range("a11"), Order1:=xlDescending, Header:=xlGuess
 Set m = CreateObject("Scripting.Dictionary")
 t = Range("a11:h" & Cells(Rows.Count, 1).End(3).Row)
 ReDim t1(1 To UBound(t), 1 To 8)
 For i = 1 To UBound(t)
 z = t(i, 4) & t(i, 8)
 If Not m.Exists(z) Then
 m.Add z, z
 x = x + 1
 For c = 1 To 8: t1(x, c) = t(i, c): Next c
 End If
 Next i
  Range("a11:h10000").ClearContents
Range("a11").Resize(x, 8) = t1
 Erase t, t1: Set m = Nothing
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 199
Messages
2 086 159
Membres
103 147
dernier inscrit
tubaman