DOUBLONS

nadav

XLDnaute Nouveau
Salut tout le monde,
Bisous d'aavnce à Celeda la déesse des doublons qui je sais d'avance va m'aider (ah c bo la vie)

Bon alors voila, c simple, mon fichier ci joint comporte des noms, adresses, tel et fax.
Je ne veut garder qu'un seul nom par adresse donc en deux mots je veut une extraction des doublons supprimant toute la ligne en considérant que l'élement doublons est l'adresse (rue)

Merci Celada, que serait ma vie de misérable utilisateur d'excel sans toi, oh grande déeesse je te baptise la déesse IXELESS 2

Nadav
 

JJM

XLDnaute Occasionnel
Bonjour nadav,

Pour cela, il te faut utiliser une extraction sans doublons :

Menu : 'Données / Filtrer / Filtre élaboré...'

Puis cocher la case en bas de la boîte de dialogue 'Extraction sans doublons' (avec le choix recopie ailleurs sur la même feuille ou sur place).

Ensuite tu indiques la plage source et éventuellement celle d'arrivée, ainsi que la zone de critères.

Ca marche impeccablement.
 

Celeda

XLDnaute Barbatruc
Bonsoir,

hé Nadav!!!

what's up ?

tu deviens quoi depuis le temps!!!

oh que j'aime que ce nouveau nom : Ixeless 2!!
tu l'as trouvé où celui-là et puis qui sait Ixeless number One ?
Je vais devenir vraiment jalouse!!! :) :)

en tout cas c'est rigolo de te lire et nadav reviens sur terre,

arrête de fantasmer, je ne suis qu'une simple mortelle!!

mais si tu veux que je sois ta déesse, je ne suis pas contre!! :p

Quant à tes doublons, suis les indications de mes petits camarades; elles sont très pertinentes et te renverront sur des solutions diverses.

Mais Nadav, j'y pense, tu en as loupé deux sur les histoires des doublons : deux bijoux de doublons :

la perle de Thomas :
Lien supprimé

et le diamant de mydearFriend

Lien supprimé
(une xla que tu installes dans ta barre d'outils)


Tu vois Nadav, au royaume des dieux et déesses, tout nous ramène à XLD!!

et si problème, tu reviens sur ton post en essayant t'attacher ton fichier (si tu n'y arrives pas, il existe un tutoriel qui t'aidera en début de forum excel).

Celeda :kiss:
 

nadav

XLDnaute Nouveau
Hello CELEDA,

Ben, oui j'avais dipsaru, mais pas bien loin mais me voila de retour avec mes soucis mes angoisses d'excel.

Non, y'a pas d'IXELESS 1 mais Ixeless 2 c plus marrant ca te catégorise dans un contexte dynastique.

Allez gros bisous et merci à tous, je vais tout essayer de suite.

Ciao tuti.

Nadav
 

nadav

XLDnaute Nouveau
filtre elaboré apparement ca marche pas, j'ai bien cocher la case sans doublons maisl il recopie tout....

Le probleme aussi, c que si il m'extrait qu'une colonne, et bien la base n'a plus de sens car B2 est lié à A2 (NOM,ADRESSE,TEL) on risque de se retrouver avec une base incohérente non...

Merci.

ci joint fichier
 

Hervé

XLDnaute Barbatruc
Bonjour tout le monde

:)

nadav, si j'ai bien compris la demande.

Une proposition en pièce jointe par vba.

j'ai essayé de commenter le code, mais je sais pas bien faire :unsure:
salut

bon dimanche

salut

[file name=Classeur1_20050904111304.zip size=8504]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20050904111304.zip[/file]
 

Pièces jointes

  • Classeur1_20050904111304.zip
    8.3 KB · Affichages: 29

Celeda

XLDnaute Barbatruc
Bonjour,


ah ah ah!!! Nadav je te prends en flagrant délire ( :) ) !!

j'aime bien la solution rapide et efficace de Hervé....

mais si je pousse le raisonnement (tel que j'ai essayé de le démontrer dans le fichier ci-attaché), sur quel critère vas-tu décider de garder la première adresse si les noms sont différents; s'ils étaient identiques je comprendrais mais là je suis un peu perplexe :huh: :

si tu regardes en TCD, en utilisant la fonction Max qui permet d'éliminer les doublons, et si on place le champ en ligne des noms on voit tous les gens qui vivent à la même adresse

ou alors, comme dans la macro d'Hervé, on reste sur le premier trouvé,

ou alors Nadav, tes doublons sont aussi dans la colonne A,

QUant au filtre élaboré, effectivement il va te remonter qu'une colonne .

...........

Celeda [file name=DoublonsNadav.zip size=21352]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/DoublonsNadav.zip[/file]
 

Pièces jointes

  • DoublonsNadav.zip
    20.9 KB · Affichages: 29

Hervé

XLDnaute Barbatruc
rebonjour tout le monde

Celeda, je me suis fait la meme réflexion que toi.

Et comme je n'avais pas la réponse je suis parti sur cette solution qui me parait dangereuse de ne garder que la première adresse comme bonne.

en attendant l'avis de nadav, je vous souhaite un bon dimanche.

salut

Message édité par: herve, à: 04/09/2005 15:29
 
N

Nadav

Guest
L'essentiel pour moi est de ne jamais avoir le meme numero de fax deux fois mais deux faxes à la meme adresse ca ne me dérange pas.

La solution à hervé est bonne sauf que je crois que j'ai esssayé d'y insérer toute ma base soit 25000 noms et il bloque... au niveau prog VBA je ne sais pas ou ca se trouve, Hervé peut tu m'aider à ce niveau.

Celeda, merci pour le TCD le principe est génial sauf que je m'y perds un peu au niveau utilisation..

Merci d'avance à tous
 

Hervé

XLDnaute Barbatruc
Bonjour nadav, le post, le forum

nadav, le souci doit venir des déclarations de vairables, remplacé les byte, par des long.

De plus tu trouveras ci-dessous une macro, qui j'espère sera plus rapide que la précédente (j'ai essayé avec 33500 données sans doublons et le traitement se fait en 2 mn environ :( ).

Je ne pense pas pouvoir trouvé plus rapide.



Option Explicit
Public Sub vev()
Dim i As Long, j As Long, l As Long
Dim k As Byte
Dim tablo As Variant
Dim data As Collection
Dim tablores() As String
Set data = New Collection

l = 1

'creation du tableau
tablo = Range('a1').CurrentRegion
'on efface la plage de résultat en feuille 2
Sheets('feuil2').Range('a1').CurrentRegion.Clear

'on boucle sur chaque ligne du tableau
On Error Resume Next
For i = 1 To UBound(tablo)
    data.Add i, CStr(tablo(i, 2))
'ICI il faut que tu adaptes, le 2 représente la colonne ou l'on ne veut pas de doublons
Next i
On Error GoTo 0

ReDim tablores(1 To data.Count, 1 To UBound(tablo, 2))

For i = 1 To data.Count
   
For k = 1 To UBound(tablo, 2)
        tablores(i, k) = tablo(data.Item(i), k)
   
Next k
    l = l + 1
Next i

Sheets('feuil2').Range('a1').Resize(UBound(tablores, 1), UBound(tablores, 2)) = tablores

End Sub

Si tu rencontre encore des soucis, pourrait tu joindre un fichier, avec un exemple de ta structure et le résultat escompté.

salut

EDITION : attention, nadav, les données sont renvoyées en feuille 2

Message édité par: Hervé, à: 06/09/2005 14:17
 

Discussions similaires

B
Réponses
12
Affichages
15 K
b0ud0ir
B

Statistiques des forums

Discussions
312 493
Messages
2 088 955
Membres
103 989
dernier inscrit
jralonso