5 Exploration et nettoyage de base

Au menu :

  • Tris
  • Facettes
  • Initiation aux expressions régulières
  • Modification isolée ou d’un ensemble de valeurs
  • Regroupement de valeurs proches
  • Suppression de lignes et de colonnes
  • Détection et suppression de doublons
  • Suppression des espaces superflus
  • Changement de casse
  • Conversion dans un autre type
  • Navigation dans l’historique

5.1 Découverte de l’espace de travail

Découverte de l’espace de travail

Découverte de l’espace de travail suite

Activité :

Combien de lignes fait le fichier? Combien de ligne peut-on voir au maximum? Affichez les dernières lignes puis revenez aux premières lignes.

Peut-on voir toutes les colonnes?

5.2 Les types de données

Comparaison des projet importés depuis les fichier CSV et XSLX :

  • Colonne nbpages du fichier exo1_csv

Colonne nbpages du fichier exo1_csv

  • Colonne nbpages du projet exo1_xslx

Colonne nbpages du fichier exo1_xslx

Explication :

La grille de données peut contenir 4 types de valeurs principales :

  • Texte (en noir, aligné à gauche)
  • Nombre (en vert, aligné à droite)
  • Date (en vert, aligné à droite)
  • Booléen (en vert, aligné à droite)

Ainsi que deux valeurs spéciales, qui ne peuvent pas être saisies manuellement :

  • “null” (absence de toute information, normalement invisibles, mais peuvent être affichées en gris après activation du menu Toutes > Aperçu > Afficher/masquer les valeurs nulles dans les cellules)
  • “erreurs” (en rouge), créées par certaines formules si une option est activée dans l’éditeur de formules)

Important : une même colonne peut contenir différents types de valeurs (contrairement à un dataset en R par exemple).

5.3 Les différents menus

Les menus sont visibles en cliquant sur le triangle en haut de chaque colonne. Ils permettent : * un affichage sélectif des données (tris, filtres, facettes…) * des modifications (remplacements, nouvelles colonnes…)

Certains menus sont très peu utilisés!

  • Facettes
    • Facette textuelle
    • Facette numérique
    • Facette chronologique
    • Facette à nuage de points
    • Facette textuelle personnalisée
    • Facette numérique personnalisée
    • Facettes personnalisées
      • Facette par mot
      • Facette par doublons
      • Facette logarithmique
      • Facette logarithmique de limite 1
      • Facette longueur de texte
      • Facette logarithmique de longueur de texte
      • Facette sur le code de caractère Unicode
      • Facette par erreur
      • Facette par valeur null
      • Facette par chaîne vide
      • Facette par valeur vide
  • Filtrer le texte
  • Editer les cellules
    • Transformer…
    • Transformations courantes
      • Supprimer des espaces de début et de fin
      • Rassembler des espaces consécutifs
      • Convertir les entités HTML
      • Remplacer les guillemets courbes par des guillemets droits
      • En initiales majuscules
      • En majuscules
      • En minuscules
      • En nombre
      • En date
      • En texte
      • En valeurs null
      • En chaîne vide
  • Editer la colonne
    • Diviser en plusieurs colonnes
    • Ajouter une colonne en fonction de cette colonne
    • Ajouter une colonne en moissonnant des URL
    • Ajouter des colonnes à partir de valeurs réconciliées
    • Renommer cette colonne
    • Supprimer cette colonne
    • Déplacer la colonne en premier
    • Déplacer la colonne en dernier
    • Déplacer la colonne à gauche
    • Déplacer la colonne à droite
  • Transposer
    • Transposer les cellules de plusieurs colonnes en lignes
    • Transposer les cellules en colonnes séparées
    • Convertir en ligne les colonnes de clé/valeur
  • Trier
  • Aperçu
    • Masquer cette colonne
    • Masquer les autres colonnes
    • Masquer toutes les colonnes à gauche
    • Masquer toutes les données à droite
  • Réconcilier
    • Démarrer la réconciliation
    • Facettes
    • Doublons
    • Copier les données de réconciliation
    • Utiliser les valeurs comme identifiants

5.4 Réordonner, supprimer, renommer des colonnes

Activité :

Déplacer la colonne “date” d’une position vers la gauche

1re solution : sur la colonne souhaitée, menu Editer la colonne:

  • Editer la colonne > Renommer cette colonne
  • Editer la colonne > Supprimer cette colonne
  • Editer la colonne > Déplacer la colonne en premier
  • Editer la colonne > Déplacer la colonne en dernier
  • Editer la colonne > Déplacer la colonne à gauche
  • Editer la colonne > Déplacer la colonne à droite

2e solution (pratique pour déplacer ou supprimer plusieurs colonnes) : 1re colonne Toutes, menu Retrier/supprimer les colonnes

Retrier ou supprimer globalement les colonnes

5.5 Trier ses données

Activité :

Constat : la 1re colonne cote n’est pas triée.

Trier les données en fonction des valeurs de la colonne cote (options par défaut : ordre alphabétique, sans tenir compte des majuscules)

Le tri est temporaire. Comment s’en rendre compte?

    • Réponse?
    • Les lignes ont gardé leur numéro d’origine

On peut établir des critères de tris supplémentaires en appliquant le tri à une 2e ou 3e colonne avant de de retrier de façon permanente, mais ça n’aurait pas d’intérêt pour notre fichier.

Appliquer le tri de façon permanente

    • Réponse?
    • Cliquer sur “Sort” > “Retrier les lignes de manière permanente”

      Tri permanent

5.6 Filtrer ses données

Les filtres s’appliquent colonne par colonne et permettent :

  • d’explorer les données;
  • de limiter les autres opérations (export, nouveaux filtres, facettes, modifications groupées)aux données sélectionnées.

Ils sont volatiles et ne sont pas enregistrés avec le projet.

Activité :

Combien de lignes comprennent “carte postale” dans leur description ?

Filtrer le fichier pour afficher les lignes dont la colonne description contient le mot “carte postale”. Combien de lignes sont concernées?

    • Réponse?
    • 4

Combien de lignes ne comprennent pas “carte postale” en description mais comprennent “1887” en “date” ?

    • Réponse?
    • Inverser le filtre et ajouter un nouveau filtre sur la date

      1 ligne

Idem en élargissant à toute la décennie 1880 ?

    • Réponse?
    • Remplacer 1888 par 188 dans le filtre

      11 lignes

Idem en considérant uniquement 1887 et 1888. Utilisez une expression rationnelle (=expression régulière) dans le filtre date.

Une expression régulière est une chaîne de caractères décrivant au moyen d’une syntaxe spéciale plusieurs chaînes de caractères possibles. Cf. https://regex101.com

Kit de survie :

  ab -> a suivi de b
  a. -> a suivi de n'importe quel caractère
  \n -> saut de ligne
  \t -> tabulation
  \s -> espace, tabulation ou saut de ligne
  a[cfbde] -> a suivi de b ou c ou d ou e ou f (classe de caractères)
  a[b-f] -> idem
  a[^cfbde] -> n'importe quel caractère sauf b,c,d,e,f
  a[^b-f] -> n'importe quel caractère sauf b,c,d,e,f
  a(bc|ef) -> a suivi de bc ou ef (groupes)
  ? -> cherche 0 ou 1 fois le caractère, la classe ou le groupe qui précède
  + -> cherche 1 fois ou plus le caractère, la classe ou le groupe qui précède
  * -> cherche 0, 1 fois ou plus le caractère, la classe ou le groupe qui précède
  {3,6} -> cherche 3 à 6 fois ou plus le caractère, la classe ou le groupe qui précède
  {3} -> cherche 3 fois le caractère, la classe ou le groupe qui précède
    • Réponse
    • Utiliser une expression régulière : 188[78]

      6 lignes

Supprimer le filtre sur la description, et conserver celui sur les dates. Toutes les dates sont elles comprises entre 1800 et 1999?

    • Réponse
    • Utiliser une expression régulière : 1[89][0-9]{2}

      51 lignes

      Inversion : 2 lignes sans date, 2 dates “inconnues”, 2 entêtes, 6 lignes vides

Supprimer le filtre

5.7 Remplacer ou modifier des valeurs

5.7.1 Modification manuelle d’une cellule unique

Bouton edit visible au survol : modifier et appliquer à la cellule

Important : les modifications isolées sont enregistrées dans l’historique et peuvent être “rejouées”, mais ne sont pas exportables.

Edition manuelle

5.7.2 Modification de toutes les cellules identiques d’une colonne

Même bouton, mais cliquer sur “Appliquer à toutes les cellules identiques”.

Important : Dans ce cas l’opération est exportable avec le reste de l’historique.

Activité :

Remplacer toutes les valeurs vides par “inconnu” dans la colonne date

5.7.3 Remplacer une chaîne ou un motif

menu Editer les cellules > Remplacer

Activité :

Remplacer toutes les valeurs de “-” par “/” dans la colonne date

    • Réponse
    • Chercher : -

      Remplacer par : /

Remplacer en une opération “lot1”, “lot2” et “lot3” par une valeur vide "" dans la colonne cote

    • Réponse
    • Chercher : lot[1-3]

      Cocher la case pour utiliser les expressions régulières

      Remplacer par : laisser vide

5.8 Annuler ou rejouer un traitement

Historique permettant d’annuler (« défaire ») ou rejouer (« refaire) les traitements de manière indéfinie

L’historique

Limites de l’historique :

  • n’enregistre pas les modifications manuelles des cellules;
  • n’enregistre pas les facettes ni les tris;
  • en cas de retour en arrière jusqu’à une opération N, puis d’ajout de nouvelles opérations, perte de l’historique des opérations réalisées initialement après N.

Activité

Annuler puis rejouer les dernières opérations

5.9 Appliquer des facettes sur les colonnes de données

Une facette permet de lister toutes les valeurs distinctes contenues dans une colonne, et de sélectionner les lignes contenant une valeur donnée dans cette colonne.

La combinaison de facettes portant sur une même colonne ou plusieurs colonnes permet de préciser la sélection.

Les facettes sont utiles pour avoir un aperçu synthétique des données, repérer des anomalies, isoler des valeurs à modifier, modifier globalement un codage…

Par défaut, seuls les 2000 premiers choix sont affichés. S’il y en a plus, OpenRefine propose d’augmenter cette limite, ou de n’afficher que les choix les plus fréquents (« facette par nombre de choix »). Le choix reste mémorisé lors des utilisations ultérieures. On peut relever le seuil à 100000 sans problème (si mémoire suffisante).

Augmenter le seuil des facettes

5.9.1 Premier type de facette : facettes « textuelles »

Elles portent sur le contenu textuel brut des cellules (conversion automatique en texte des nombres, dates et booléens)

Menu Facette > Facette textuelle

Activité

Afficher les facettes textuelles correspondant au contenu de la colonne langue

    • Réponse?

Repérer les anomalies apparentes.

    • Réponse?
    • 3 valeurs différentes pour le français (“français” / “fre” / “fre”); 2 valeurs “langue” ; 2 valeurs vides (blank)

Les options d’une facette

Comment harmoniser la valeur en “fre” (en restant dans le volet facettes)?

    • Réponse?
    • Cliquer sur la facette “français” puis sur “éditer” et remplacer la valeur par “fre”

      Répéter l’opération avec la facette “fre”

      Les données du projet ont été modifiées

Comment sont classées les facettes? Peut-on en modifier l’ordre?

Après harmonisation, quelles sont les deux manière de sélectionner les lignes qui ne contiennent pas “fre”?

    • Réponse?
    • Sélectionner “fre” et inverser la sélection

      ou bien sélectionner (blank) et (langue)

Ajouter une nouvelle facette sur la colonne description, classer les résultats par compte et sélectionner la valeur la plus fréquente. Quel est l’effet sur la facette par langue?

    • Réponse?
    • La facette par langue est recalculée sur les 8 lignes concernées.

      On peut donc combiner différentes facettes.

Supprimer les deux facettes.

A noter : Si plusieurs facettes sont sélectionnées, on ne peut pas directement remplacer leur valeur par une nouvelle en passant par le volet facettes ou le menu “edit”. Mais c’est possible avec une transformation personnalisée (voir plus loin)

5.9.2 Autres types de facettes sur les colonnes

  • Facettes numériques, chronologiques, en nuage de point : suppose d’avoir des données reconnues par OpenRefine comme des dates ou des nombres (pas le cas dans notre exemple)
  • Facettes courantes : plusieurs options souvent utiles:
    • par mot
    • par doublons
    • par longueur de texte
    • par “blanc” (valeur vide ou null)
    • par valeur vide
    • par null
    • par erreur
  • Facettes personnalisées : utilisation du langage GREL

Activité

Utiliser une facette pour compter le nombre de lignes vides et non vides dans la colonne description.

    • Réponse?
    • Facettes personnalisée > par valeur vide.

      false (non vide) : 27

      true (vide) : 34

Utiliser une facette personnalisée pour vérifier si la colonne “cote” ne contient que des valeurs uniques.

    • Réponse?
    • Non: 12PDR_E_COR01_013 répété

      Attention, la détection ne prend pas en compte les variantes de majuscules : 12PDR_e_COR01_013 n’est pas repéré comme doublon

A partir de la colonne auteur, appliquez une facette personnalisée « par mots » (Les valeurs sont découpées en suite de caractères séparés par des espaces)

Quel intérêt peut avoir l’opération?

    • Réponse?
    • Utile pour analyser des cellules comprenant des valeurs répétées ou dissociables en plusieurs éléments (ici : nom + prénom + date), ou compter les mots les plus utilisés dans une colonne.

Peut-on modifier une des valeurs affichées par cette facette ?

    • Réponse?
    • Non

Cette facette pourrait-elle permettre de séparer les différents sujets de la colonne “sujets” ?

    • Réponse?
    • Non car ils sont séparés par un ; et non un espace.

      Il faut utiliser une facette personnalisée à la main.

5.10 Appliquer des facettes sur l’ensemble d’une ligne

Le menu ‘Toutes’ permet d’appliquer des facettes à l’ensemble d’une ligne.

5.10.1 Repérer les lignes complètement vides

Menu Toutes > Facette > Facette par valeur vide

Trouve-t-on des valeurs vides? Pourquoi ?

    • Réponse?
    • Non. Une opération précédente a ajouté “inconnu” dans les colonnes date des lignes vides.

Modifier une ligne comprenant une valeur dans une seule colonne pour qu’elle devienne vide.

Retester la facette et vérifier que la ligne est repérée.

5.10.2 Les facettes par étoile et par marques

Remarque : visuellement les “marques” sont en fait des drapeaux.

Etoiles et marques non activées

Etoiles et marques activées

Les étoiles et marques ont le même usage et le même fonctionnement : elles permettent de signaler une ligne pour réaliser d’autres opérations manuelles ou automatisées.

Elles peuvent être activées :

  • ligne à ligne en cliquant sur les symboles correspondant à gauche de chaque ligne
  • via les menus de la colonne Toutes :
    • Toutes > Editer les lignes > Etoiler les lignes
    • Toutes > Editer les lignes > Désétoiler les lignes
    • Toutes > Editer les lignes > Marquer les lignes.
    • Toutes > Editer les lignes > Démarquer les lignes.

La 1re colonne Toutes permet de construire des facettes à partir des lignes au préalable signalées manuellement par une étoile ou une marque : Toutes > menu Facettes > Facettes par étoiles et Facettes > Facettes par marque

5.10.3 Repérer les colonnes comprenant des valeurs vides anormales

Menu Toutes > Facette > Valeur non vide par colonne

Comparer le nombre de valeurs non vides pour chaque colonne au nombre de lignes totales. Quelles colonnes seraient à examiner ?

    • Réponse?
    • 53 lignes totales

      Mais 51 dans langues et nb_pages et 25 dans description

Isoler les lignes à corriger et faire les corrections à la main.

    • Réponse?
    • Dans la facette, cliquer sur langue

      Inverser la sélection

      Corriger à la main

      Idem pour nb_pages (en fonction du nb de fichiers dans la colonne fichier)

5.11 Supprimer des lignes

La suppression d’une ligne est possible via le menu de la colonne Toutes : Editer les lignes > Supprimer les lignes correspondantes.

Toutes les lignes affichées au moment de l’opération (en tenant compte des facettes et des filtres en cours) seront supprimées.

Pour supprimer des lignes sélectionnées en plusieurs étapes de traitement :

  • à chaque étape, appliquer une facette “étoile” ou “marque” aux lignes voulues;
  • appliquer une facette par étoile ou marque;
  • supprimer toutes les lignes affichées.

Activité

Utiliser une facette personnalisée pour isoler les lignes dont la colonne cote ne fait pas 18 caractères.

    • Réponse?
    • Facette personnalisée -> par longueur de texte

      Sélection dans l’histogramme

      8 lignes sélectionnées

Marquer d’une étoile les 2 premières et la dernière ligne ainsi sélectionnées puis supprimer la facette. Vérifiez que les étoiles sont toujours là.

Rajoutez à la main des étoiles sur les autres lignes de la fin du tableau qui ne contiennent aucune valeur (sauf dans la colonne date)

Faire une facette par étoile, sélectionnez toutes les lignes étoilées, et supprimez les.

    • Réponse?
    • Toutes > Facette > par étoile

      Toutes > Editer les lignes > supprimer les lignes correspondantes

Pour supprimer les doublons repérés dans les cotes, une étape supplémentaire est nécessaire (voir plus loin)

5.12 Regrouper des valeurs proches

Plusieurs alogrithmes permettent de repérer des chaînes de caractères proches et d’harmoniser leur contenu, soit pour l’ensemble d’une colonne soit pour des lignes sélectionnées avec une facette ou un filtre.

A partir d’une colonne : Editer les cellules > Grouper et éditer

A partir d’une facette : Sélectionner la facette > bouton “Grouper” en haut à droite.

Activité

Repérez les valeurs proches pour la colonne auteur puis grouper les résultats en utilisant les différentes méthodes proposées.

Pour chaque doublon repéré, cliquer sur une forme pour choisir la forme retenue ou pour la modifier.

Sélectionner les groupes à fusionner un par un ou bien tout sélectionner.

1re méthode par défaut par empreinte

Regrouper des valeurs

2e méthode par plus proche voisin

Regrouper des valeurs

Le nettoyage est-il complet (vérifier en construisant une facette) ? Corriger à la main au besoin, en conservant la forme la plus précise.

    • Réponse?
    • De LaCroix (Camille) n’est pas repéré, car trop éloigné de De La Croix, Camille (1831-1911)

Vérifiez si les colonnes “sujet”, description“,”Fonds" et “destinataire” nécessitent le même traitement et corrigez les au besoin.

Détail des algorithmes

Attention! Dans certains cas ces algorithmes peuvent faire des rapprochements non pertinents (ex: deux numéros de téléphones peuvent légitimement être très semblables…) Et ils ne peuvent pas rapprocher toutes les formes souhaitées (ex : TVA = Taxe sur la valeur ajoutée…)

  1. Méthodes de collision de clé : rapides mais basiques

“Condensent” chaque valeur sous forme d’une “clé” et compare les clés au lieu de comparer les valeurs de manière détaillée.

Les algorithmes de regroupement

  1. Méthodes plus proches voisins : plus élaborées mais plus lentes

Baisser le paramètre « taille de bloc » pour améliorer la détection (attention risque de ralentissement !

Les algorithmes de regroupement

5.13 Changer la casse

Activité

La colonne cote comprend un mélange anormal de majuscules et de minuscules. Corrigez la.

    • Réponse?
    • Editer les cellules > Transformations courantes > En majuscules

5.14 Supprimer les espaces superflus

Activité

Supprimez les espaces superflus (espaces au début et à la fin de chaque cellule, espaces redoublés) dans la colonne “fichier et page”

    • Réponse?
    • Editer les cellules > Transformations courantes > Supprimer les espaces de début et fin

      Editer les cellules > Transformations courantes > Rassembler les espaces consécutifs

5.15 Convertir dans un autre type de données

Activité

Transformez en type “nombre” le contenu de la colonne nbpages (opération inutile si les données venaient d’un fichier XLSX).

Notez que l’opération échoue pour certaines lignes. Comment corriger les données pour l’éviter ?

    • Réponse?
    • Editer les cellules > Remplacer

      Remplaçant tout les caractères non numériques par ""

      Expression régulière : [^0-9]

      Relancer la transformation

5.16 Vider complètement une colonne

Activité

Remplacez le contenu de la colonne cote par des valeurs null.

Annulez l’opération.

5.17 Vider les valeurs répétées sur plusieurs lignes

“Vider” des valeurs répétées peut être nécessaire pour d’autres opérations :

  • Supprimer des doublons
  • Créer des « entrées » regroupant plusieurs lignes

Activité

Si vous n’avez pas trié la colonne cote, triez la de façon permanente, puis videz les valeurs répétées dans cette colonne. Elles seront remplacées par des valeurs null.

    • Réponse?
    • Editer les cellules > Vider les valeurs répétées dans les cellules consécutives

5.18 Lignes et entrées

5.18.1 Principes

Dans OpenRefine, une ou plusieurs lignes peuvent être regroupées en “entrées” (record).

Travailler avec des entrées permet des traitements avancés.

L’option “Voir en lignes / entrées” en haut à gauche de la grille de données permet d’afficher les données en prenant en compte les lignes (choix par défaut) ou les entrées.

Voir en lignes

Voir en entrées

Le regroupement en entrées est conditionné par le contenu de la 1re colonne :

  • valeur non nulle -> nouvelle entrée commençant avec cette ligne;
  • valeur nulle (“null” ou chaîne vide) -> ajout de la ligne à l’entrée précédente.

Exemple :

3 entrées

Attention : le lien entre lignes et entrées est très ténu. Si les colonnes sont déplacées ou le fichier retrié, le regroupement disparaît!

5.18.2 Création d’entrées

Pour grouper plusieurs lignes dans une entrée, certaines cellules de la 1re colonnes doivent être vides lors de l’import ou vidées dans OpenRefine :

  • en supprimant les valeurs répétées;
  • par une édition manuelle appliquée à toutes les valeurs similaires;
  • avec une formule.

Autre possibilité : déplacer en 1re position une autre colonne contenant des valeurs vides.

Attention : une édition manuelle appliquée à une seule cellule ne crée pas d’entrée.

Activité :

Pour traiter les doublons de cote, créez des entrées sur la colonne <span “or-col”>cote :

  • basculer l’affichage en mode “lignes”;
  • vider les valeurs répétées sur plusieurs lignes.

Résultat en mode lignes :

mode ligne, après vidage des valeurs répétées

Basculer en mode entrées : 1 entrée de 3 ligne a été créée

mode entrée, après vidage des valeurs répétées

5.18.3 Prise en compte des entrées lors d’opérations de vidage/remplissage

Si le mode entrée est activé, le vidage et le remplissage de valeurs consécutives s’applique entrée par entrée.

Activité

Après avoir créé une entrée de plusieurs lignes, passez en mode ligne en mode ligne réalisez une opération de vidage des valeurs répétées dans la colonne <span “or-col”>auteur.

Observez le résultat.

Annulez l’opération, puis passez en mode “entrée” et réalisez la même opération.

Observez le résultat.

Vidage appliqué entrée par entrée

Annulez l’opération.

Attention : Ce fonctionnement est activé même si chaque entrée ne compte qu’une seule ligne

5.19 Remplir les valeurs vides consécutives

Activité

En mode “lignes”, remplissez les valeurs vides consécutives de la colonne cote.

Annulez l’opération.

En mode “lignes”, remplissez les valeurs vides consécutives de la colonne description.

Annulez l’opération.

Répétez l’opération en mode “entrées”.

Comment expliquer la différence ?

Attention : Le “remplissage” est symétrique du “vidage” mais le résultat d’un “vidage” suivi d’un “remplissage” peut corrompre les données si des valeurs vides préexistaient.

Ex : données source

col1
A
A
(null)
B
B

Vidage des valeurs répétées :

col1
A
(null)
(null)
B
(null)

Remplissage des valeurs vides :

col1
A
A
A
B
B

Pour éviter ce problème : commencer par remplacer les valeurs vides par une valeur fictive, puis la supprimer à la fin de l’opération.

5.20 Supprimer des doublons

A noter : on peut également utiliser la facette par doublons, mais elle ne permet pas d’isoler automatiquement une ligne à conserver pour chaque doublon.

Opérations pour supprimer des doublons :

  1. Se placer en mode lignes
  2. (Si la colonne contient des valeurs vides, les remplacer par une valeur temporaire)
  3. Trier de façon permanente la colonne servant de contrôle
  4. Vider les valeurs répétées dans cette colonne
  5. Appliquer une facette par valeur vide (blank)
  6. Sélectionner la facette “true”
  7. Supprimer toutes les lignes affichées
  8. (Si la colonne contenait des valeurs vides, remplacer la valeur temporaire par une valeur vide)

Si le contrôle doit prendre en compte plusieurs colonnes : créer une colonne temporaire contenant la concaténation des colonnes concernées.

Activité

Supprimez les lignes en double en utilisant les doublons dans la colonne cote comme critère.