Tri sur Base

Bonjour,

J'ai à traiter un très gros fichier (près de 100 000 lignes) Calc. Ce
fichier comporte, par enregistrement, le nom du titulaire d'un IBAN, l'IBAN,
et la somme virée sur le compte.

Sans surprise, je peux avoir plusieurs centaines de virements sur un même
IBAN. C'est ce qui explique la taille du fichier. J'ai aussi différents noms
de titulaires pour un même IBAN (ex : Carrefour 29, SA Carrefour, Carrefour
Brest...)

Sachant que la colonne des montants virés ne m'intéresse pas, comment me
serait-il possible de n'avoir face à chaque IBAN qu'un seul exemplaire de
chaque titulaire ?

Le fichier se présente aujourd'hui comme suit :
titulaire1 IBAN1
ligne répétée de nombreuses fois puis
titulaire2 IBAN1
ligne à nouveau répétée puis
titulaire A IBAN A
ligne elle aussi répétée 10, 100, 200 fois !
titulaire B IBAN A
idem pour la répétition
etc...

je voudrais n'avoir que
titulaire1 IBAN1
titulaire2 IBAN1
titulaire A IBAN A
titulaire B IBAN A

Je suis parti d'un fichier csv avec 3 colonnes : titulaire, IBAN et
virements (environ 100 000 lignes !) Puis j'ai utilisés avec Calc les
sous-totaux où l'IBAN est le point de regroupement et on compte les
titulaires. Comme dit plus haut, je n'ai aucun souci à perdre la colonne
virement.

Je vous remercie pour votre aide et vous souhaite une agréable soirée,

Dominique

Bonsoir,

En passant par "filtre spécial" (Données-Plus de filtres) dans Calc, ça devrait aller.

1. Avant de lancer le filtre : créer le "Critère de filtre" : le nom
    d'un champ de la base(Titulaire ou Iban) et une cellule vide en
    dessous.
2. Sélectionner uniquement les colonnes Titulaire et Iban comme base
3. Dans Option, cocher "sans doublon" et "copier le résultat vers" ->
    sélectionner une cellule de l'emplacement où on veut récupérer le
    tableau

Bonne chance...

Christian F

Bonsoir Christian,

Je me transfère ta réponse sur ma BAL PRO. Je crains simplement que nos PC de bureaux ne soient pas suffisamment puissants pour réaliser ce travail. Ce à quoi je l'essayerai sur mon portable.

Je te remercie. Je te tiens au courant.

Bien à toi,

Bonjour,

bonsoir,

J'ai à traiter un très gros fichier (près de 100 000 lignes) Calc. Ce
fichier comporte, par enregistrement, le nom du titulaire d'un IBAN, l'IBAN,
et la somme virée sur le compte.

Sans surprise, je peux avoir plusieurs centaines de virements sur un même
IBAN. C'est ce qui explique la taille du fichier. J'ai aussi différents noms
de titulaires pour un même IBAN (ex : Carrefour 29, SA Carrefour, Carrefour
Brest...)

Sachant que la colonne des montants virés ne m'intéresse pas, comment me
serait-il possible de n'avoir face à chaque IBAN qu'un seul exemplaire de
chaque titulaire ?

Le fichier se présente aujourd'hui comme suit :
titulaire1 IBAN1
ligne répétée de nombreuses fois puis
titulaire2 IBAN1
ligne à nouveau répétée puis
titulaire A IBAN A
ligne elle aussi répétée 10, 100, 200 fois !
titulaire B IBAN A
idem pour la répétition
etc...

je voudrais n'avoir que
titulaire1 IBAN1
titulaire2 IBAN1
titulaire A IBAN A
titulaire B IBAN A

Je suis parti d'un fichier csv avec 3 colonnes : titulaire, IBAN et
virements (environ 100 000 lignes !) Puis j'ai utilisés avec Calc les
sous-totaux où l'IBAN est le point de regroupement et on compte les
titulaires. Comme dit plus haut, je n'ai aucun souci à perdre la colonne
virement.

je ne comprends pas le titre qui parle de Base alors que le contenu parle de calc...
Il me semble qu'une requête dans base serait plus léger qu'un filtre de calc...

Je vous remercie pour votre aide et vous souhaite une agréable soirée,

Dominique

Gérard

... tout comme il s'agit de filtre et non de tri...

Mais partant d'un csv, c'est peut être plus facile à manipuler dans Calc, pas besoin de créer une base spécifique.
Après test, la réponse me semble un chouia plus rapide sous Calc que sous Base (dans les 2 cas environ  1 secondes ou 2 sur 100 000 enregistrements de test) avec une requête sous Base du genre "SELECT DISTINCT "Titulaire", "IBAN" FROM "TestFiltreIban" ORDER BY "Titulaire" ASC".

christian f

Bonjour,

et je dirais même +,

si sous windows, la même requete devrait fonctionner DIRECTEMENT sur le
fichier CSV déclaré en odbc.
ça éviterait ainsi de charger tout le fichier dans calc :wink:
A tester.

Yves

Merci Christian,
Avec la requête SQL, j'ai obtenu mon résultat après une vingtaine de
secondes de patience.
Bonne journée à toi,
Dominique

Bonjour,
J'ai obtenu ce que je voulais par Base et SQL.
Pour autant, je m'aperçois que je ne me suis jamais intéressé aux filtres
spéciaux.
J'essaye ta piste dès que je peux.
Je te remercie.
Bien à toi,
Dominique