Message-ID: <386B99E1.8B46447D@free.fr> Date: Thu, 30 Dec 1999 18:44:01 +0100 From: Laurent longre X-Mailer: Mozilla 4.7 [fr] (Win95; I) X-Accept-Language: fr MIME-Version: 1.0 Subject: Re: Suppression de doublons References: <84g1ek$2di2$1@buggy.easynet.fr> Content-type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Newsgroups: microsoft.public.fr.excel NNTP-Posting-Host: lyon2-57-113.dial.proxad.net 212.27.57.113 Path: cppssbbsa01.microsoft.com!cppssbbsa02.microsoft.com Lines: 60 Xref: cppssbbsa01.microsoft.com microsoft.public.fr.excel:20384 Tiger, Je te propose la macro suivante, d'exécution assez rapide car reposant sur ColumnDifferences pour repérer les groupes de cellules de contenu identique. Const Cell_Départ As String = "A1" dim Fin As range, I As long, J As long, Col As Integer dim ModeCalcul As long with application ModeCalcul = .Calculation .Calculation = xlCalculationManual .screenupdating = false end with Col = range(Cell_Départ).Column set Fin = range(Cell_Départ).end(xldown)(2) On Error Resume next do I = J + 1 J = range(cells(I, 1), Fin).ColumnDifferences(cells(I, 1))(0).Row if J > I then range(cells(I + 1, 1), cells(J, 1)).ClearContents loop Until Err application.Calculation = ModeCalcul Remplace simplement la valeur "A1" de la constante Cell_Départ par l'adresse de la cellule de départ de ta colonne à nettoyer, ça devrait marcher. Et puis, bonne année . Laurent tiger a écrit : > > Bonjour à tous, > > Dans une colonne se trouvent des chiffres dont certains se répètent > plusieurs fois à la suite les uns des autres. Je voudrais une macro qui > efface les doublons, en laissant donc chaque chiffre différent une seule > fois dans la colonne, mais sans supprimer la ligne de la valeur dupliqué, > car les donnés situés dans les colonnes adjacentes relatives aux valeurs > qui vont être effacés, doivent être conservés. Tenir compte du fait que le > nombre de lignes est variable. > > Je travaille avec Excel 97, mais j'aimerais que la macro puisse fonctionner > avec Excel 5. > > Un petit exemple pour être sûr d'être bien compris : > > Colonne A Colonne B > > Ligne 1 10000 1111111 > Ligne 2 10000 2222222 > Ligne 3 10000 3333333 > Ligne 4 20000 4444444 > Ligne 5 20000 5555555 > > Après exécution de la macro dans la colonne A seules les valeurs des lignes > 1 et 4 doivent apparaître (10 000 et 20000), mais dans la colonne B toutes > les valeurs doivent être conservés, donc pas de suppression de lignes. > > Colonne A Colonne B > > Ligne 1 10000 1111111 > Ligne 2 2222222 > Ligne 3 3333333 > Ligne 4 20000 4444444 > Ligne 5 5555555 > > D'avance merci > > tiger > > me répondre dans le groupe