Doublon

B

Bob

Guest
Salut Forum
je cherche une solution pour éliminer les doublons dans une colonne d'un fichier excel.
En colonne B1:Bx j'aimerais récupérer les valeurs uniques de la colonnes A1:Ax.
Si qqun a une petite idée, ou déjà une solution toute faite, merci beaucoup.
A tout soudain
Boby
 

Jacques87

XLDnaute Accro
Bonsoir

Voici le code d'une petite macro qui devrait te rendre service

Dim I As Integer
Dim K As Integer
Dim L As Integer
Dim valeur As String

L = 1
For I = 1 To Range('A65536').End(xlUp).Row
valeur = Range('A' & I).Value
For K = 1 To Range('B65536').End(xlUp).Row
If Range('B' & K).Value = valeur Then GoTo suite
Next K
Range('B' & L).Value = Range('A' & I).Value
L = L + 1
suite:
Next I

voir exemple

Bon courage [file name=doublons_20060130205051.zip size=8895]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/doublons_20060130205051.zip[/file]
 
B

billy

Guest
Salut,

je rebondis.
J'ai un fichier ou toutes les lignes sont dupliquées.
J'ai essayé une macro proposée sur le forum, mais ca fait planter mon ordi (trop long car fichier trop lourd je pense)
Bref, je pense qu'il existe une solution facile pour supprimer mes doublons car ils sont sont toutes les 2 lignes (L+2) mais j'arrive pas à écrire une commande.
Comment on peut faire?
 

Jacques87

XLDnaute Accro
Bonsoir

Si tu veux supprimer une ligne sur deux, voici une procédure qui devrait te convenir

Sub suppression_doublon()
Dim I as Integer
For I = X to Range('A65536').End(XlUp).Row Step 2
Row(I).Delete Shift:=xlUp
Next I
End Sub

Attention il faut remplacer X par le n° de la ligne où se trouve le premier doublon

Bonne soirée
 
B

billy

Guest
Salut,

je rebondis.
J'ai un fichier ou toutes les lignes sont dupliquées.
J'ai essayé une macro proposée sur le forum, mais ca fait planter mon ordi (trop long car fichier trop lourd je pense)
Bref, je pense qu'il existe une solution facile pour supprimer mes doublons car ils sont sont toutes les 2 lignes (L+2) mais j'arrive pas à écrire une commande.
Comment on peut faire?
 

Jacques87

XLDnaute Accro
Bonsoir Hervé, Bob et Billy

Nous avions 2 demandeurs différents sur ce Fil ... !!
Alors Bob je suis content pour toi
Quant à Billy, je dois être fatigué
Hervé t'a donné la solution
sinon si tu veux reprendre mon code, il faut prendre en considération que j'ai ajouté un 'Shift = XlUp' qui fait tout remonter d'une ligne à chaque suppression, donc tu sautes une ligne à chaque fois
Il faut donc recaler

mais j'avoue que la solution d'Hervé est plus simple

Bonne soirée à vous deux ainsi qu'à Hervé
 
B

Bob

Guest
RE: C'est à nouveau Bob
Au sujet des duplications de Billy, j'essaie de modifier cette macros sans succès: j'ai un fichier avec 8 lignes pour une base de données client, et je ne souhaite ne conserver que 2 lignes par client.
Un fichier attaché vous aidera à comprendre ce que je souhaite.
Merci d'avance
Boby
 
B

Billy

Guest
M...

Me revoilà,
j'ai essayé la macro d'hier soir sur mon vrai fichier -> ça marche pas si bien que sur les simulations!!!

En fait, il n'a y que la 1ère ligne qui saute, après j'ai toujours mes doublons.

En regardant de plus près, je m'aprecois que les lignes ne sont pas systématiquement déboublées.
Est ce que ça serait du à ça? car si j'applique

For I = Range('A65536').End(xlUp).Row To 1 Step -2
je bugue justement à cette ligne
et si je met
For I = Range('a29348').End(xlUp).Row To 1 Step -2

(29348)ligne à laquelle je pense ne plus voir de doublons, seule la 1ère saute comme je l'ai dit au début

aie aie aie!
 

Discussions similaires

Réponses
21
Affichages
384
Réponses
26
Affichages
980

Statistiques des forums

Discussions
312 488
Messages
2 088 838
Membres
103 972
dernier inscrit
steeter