J'ai donc eu besoin de créer un petit logiciel qui
- Ouvre un fichier "nom_original.csv"
- Supprime les doublons qui se suivent
- Crée un nouveau CSV "nom_original_new.csv"
Le fichiers comptait 2600 contacts
Au final, il en avait réellement 694

Si ça peut vous servir.
Code : Tout sélectionner
; CSV Doublon Killer.
; Ar-S / Mars 2012 / P.B 4.60
Global F$, Destination$
Global NewList Contact.s()
Procedure CreateListFromCSV (NumFichier_ARS, FilePath_ARS.s, List ListName.s())
; Ar-S / 28/03/2012
; Procédure de création d'une liste à partir d'un fichier CSV.
; Retourne 1 si la liste a été créée ou 0 si echec
; Suppression des doublons qui se suivent pour fichier CSV
Protected NbrLigne
ClearList(ListName())
NbrLigne = 0
doublon = 0
If ReadFile(NumFichier_ARS , FilePath_ARS)
B$ = ""
While Eof(NumFichier_ARS) = 0
A$ = ReadString(NumFichier_ARS)
If A$ <> B$
AddElement(ListName())
ListName() = ReadString(NumFichier_ARS)
B$ = ListName()
Else
Debug "doublon : " + A$ + " et " + B$
doublon + 1
EndIf
NbrLigne + 1
Wend
If doublon > 0
Debug "doublon virés : " + Str(doublon)
EndIf
CloseFile(NumFichier_ARS)
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
FichierParDefaut$ = "C:\"
Filtre$ = "Fichier CSV (*.csv)|*.csv"
F$ = OpenFileRequester("Choisissez le fichier CSV", FichierParDefaut$, Filtre$, 0)
If F$
MessageRequester("Information", "Le fichier suivant va être traité :"+Chr(10)+F$, 0)
Chem$ = GetPathPart(F$)
in$ = Left (GetFilePart(F$), Len(GetFilePart(F$))-4) ; -4 = sans l'extension
Destination$ = Chem$+in$+"_new.csv"
Else
MessageRequester("Information", "La sélection a été annulée, ce programme va se terminer.", #MB_OK|#MB_ICONINFORMATION)
End
EndIf
liste = CreateListFromCSV(0,F$,Contact())
If liste = 0
Debug "erreur"
MessageRequester("Erreur", "Liste vide ! Ce programme va se terminer.", #MB_OK|#MB_ICONINFORMATION)
Else
Debug "Liste : " + Str(liste)
CreateFile(1,Destination$)
p = 0
ForEach Contact()
p+1
WriteStringN(1, Contact())
Debug Contact()
Next
CloseFile(1)
Debug "Nbr de contact : " + Str(p)
MessageRequester("Terminé ! ", ".:: Journal ::." +Chr(10) +Str(p) + " doublons filtrés"+Chr(10)+ " Nouveau fichier CSV : "+Destination$ + Chr(10)+Chr(10)+"Merci d'avoir utilisé un logiciel LDV MULTIMEDIA"+Chr(10)+"http://ldvmultimedia.com" , #MB_OK|#MB_ICONINFORMATION ) ;-TEST
EndIf
End