[Résolu] Identifier les différences entre deux fichiers
Modérateur : Vilains modOOs
Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
-
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 17 juil. 2024 15:09
[Résolu] Identifier les différences entre deux fichiers
Bonjour à toutes et tous,
Tâtonnant sur Calc, j'aurais besoin d'aide et de conseils pour comparer les données de deux fichiers.
Contexte : un fichier d'origine où toutes les données et valeurs sont propres et organisées et un fichier de travail où une collègue a ajouté de nouvelles informations, mais s'est parfois référée au mauvais identifiant (numéro d'ordre et/ou numéro d'ordre de cote dans mon cas).
J'ai réussi pour la majorité à retrouver les bonnes informations entre mes deux fichiers pour les différents champs (N°d'ordre + préfixe de cote + N°ordre de cote + Titre) mais je me rends compte qu'il y a des données faussées qui trainent (notamment n°d'ordre et n°d'ordre de cote qui ont été inversés).
Comment pourrais-je faire pour mettre en évidence les lignes dans mon fichier de travail qui ne correspondent pas à mon fichier original, afin de les corriger facilement ?
A noter :
- que le champ Titre peut légèrement varier dans sa syntaxe entre le fichier 1 et 2, donc le point de comparaison est sûrement à faire sur l'ensemble n°ordre + préfixe de cote + n°ordre de cote.
- que le fichier de travail présente moins de données que le fichier original, puisqu'il est alimenté au fur et à mesure. Un enjeu serait également de mettre en évidence les données pas encore intégrées (hors données faussées).
Je vous joins deux tableaux présentant les données exportées de mes fichiers.
Merci d'avance si quelqu'un peut m'aider,
Bonne soirée
Tâtonnant sur Calc, j'aurais besoin d'aide et de conseils pour comparer les données de deux fichiers.
Contexte : un fichier d'origine où toutes les données et valeurs sont propres et organisées et un fichier de travail où une collègue a ajouté de nouvelles informations, mais s'est parfois référée au mauvais identifiant (numéro d'ordre et/ou numéro d'ordre de cote dans mon cas).
J'ai réussi pour la majorité à retrouver les bonnes informations entre mes deux fichiers pour les différents champs (N°d'ordre + préfixe de cote + N°ordre de cote + Titre) mais je me rends compte qu'il y a des données faussées qui trainent (notamment n°d'ordre et n°d'ordre de cote qui ont été inversés).
Comment pourrais-je faire pour mettre en évidence les lignes dans mon fichier de travail qui ne correspondent pas à mon fichier original, afin de les corriger facilement ?
A noter :
- que le champ Titre peut légèrement varier dans sa syntaxe entre le fichier 1 et 2, donc le point de comparaison est sûrement à faire sur l'ensemble n°ordre + préfixe de cote + n°ordre de cote.
- que le fichier de travail présente moins de données que le fichier original, puisqu'il est alimenté au fur et à mesure. Un enjeu serait également de mettre en évidence les données pas encore intégrées (hors données faussées).
Je vous joins deux tableaux présentant les données exportées de mes fichiers.
Merci d'avance si quelqu'un peut m'aider,
Bonne soirée
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par BibliOffice le 19 juil. 2024 13:06, modifié 1 fois.
LibreOffice 7.0.6.2 (x64) sous Windows 10.0
-
- HédOOniste
- Messages : 1823
- Inscription : 15 déc. 2010 08:33
Re: Identifier les différences entre deux fichiers
Bonsoir
il faudrait donner des lignes où se trouvent des erreurs
il faudrait donner des lignes où se trouvent des erreurs
OpenOffice 4.1.14 sous Windows 11
-
- Membre hOOnoraire
- Messages : 111
- Inscription : 18 févr. 2007 08:34
Re: Identifier les différences entre deux fichiers
Bonjour,
ci-joint une proposition permettant de comparer l'ensemble des données, ligne à ligne.
J'ai ajouté une coloration des valeurs différentes via un format conditionnel.
ci-joint une proposition permettant de comparer l'ensemble des données, ligne à ligne.
J'ai ajouté une coloration des valeurs différentes via un format conditionnel.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
24.8.7.2 (X86_64) / LibreOffice Community en production
25.2.2.2 (X86_64] / LibreOffice Community à titre expérimental
Debian 11, bureau Xfce
25.2.2.2 (X86_64] / LibreOffice Community à titre expérimental
Debian 11, bureau Xfce
-
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 17 juil. 2024 15:09
Re: Identifier les différences entre deux fichiers
Bonjour,
merci pour vos retours !
exemple :
Ligne 1443 "Fichier de travail" = "1447" + "PHO-3" + "1483" + "Chassagne, bouleau déraciné le long du canal", qui devrait en réalité être ""1411" + "PHO-3" + "1447" + "Chassagne, bouleau déraciné le long du canal" (Ligne1413 du "Fichier Orig") <<<< Le n°d'ordre de cote en dernière position a été placé en place du n°d'ordre en première position, d'où l'erreur.
La bonne donnée serait plutôt celle en ligne 1444 ""1447" + "PHO-3" + "1483" + "Exposition internationale de Bruxelles de 1910", équivalente à la ligne 1449 dans mon "Fichier Orig".
Je me rends compte que j'ai donc un doublon, ce qui peut-être la solution pour trouver les "coquilles" mais ce ne sont peut-être pas les seules erreurs.
J'espère être assez clair dans mes explications
Merci,
Bonne journée
merci pour vos retours !
> Merci mais cela ne résout pas vraiment ma problématique car je n'ai pas le même nombre de lignes dans mon tableau de droite, donc la fonction peut me ramener des lignes "FAUX" alors que la donnée identique existe bien dans mon tableau de gauche, mais à une ligne différente.
Cela sera effectivement plus simple.
exemple :
Ligne 1443 "Fichier de travail" = "1447" + "PHO-3" + "1483" + "Chassagne, bouleau déraciné le long du canal", qui devrait en réalité être ""1411" + "PHO-3" + "1447" + "Chassagne, bouleau déraciné le long du canal" (Ligne1413 du "Fichier Orig") <<<< Le n°d'ordre de cote en dernière position a été placé en place du n°d'ordre en première position, d'où l'erreur.
La bonne donnée serait plutôt celle en ligne 1444 ""1447" + "PHO-3" + "1483" + "Exposition internationale de Bruxelles de 1910", équivalente à la ligne 1449 dans mon "Fichier Orig".
Je me rends compte que j'ai donc un doublon, ce qui peut-être la solution pour trouver les "coquilles" mais ce ne sont peut-être pas les seules erreurs.
J'espère être assez clair dans mes explications
Merci,
Bonne journée
LibreOffice 7.0.6.2 (x64) sous Windows 10.0
-
- IdOOle de la suite
- Messages : 25973
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: Identifier les différences entre deux fichiers
Salut,
Sers toi déjà de la fonction interne de comparaison :
S'il y a deux fichiers, pourquoi fournir un exemple avec un seul document ?BibliOffice a écrit : ↑17 juil. 2024 15:28Contexte : un fichier d'origine où toutes les données et valeurs sont propres et organisées et un fichier de travail où une collègue a ajouté de nouvelles informations
Sers toi déjà de la fonction interne de comparaison :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 17 juil. 2024 15:09
Re: Identifier les différences entre deux fichiers
Salut,
j'ai essayé la fonction de comparaison mais cela fait planter LO systématiquement...
Et mon fichier de travail n'a pas du tout la même structuration de données que mon fichier d'origine (cf.captures d'écran), la fonction de comparaison va m'afficher une différence pour chaque ligne non ? C'est pour cela que j'ai fait un export des données de mes deux fichiers dans un seul, pour pouvoir faire un tri croissant sur chaque et les comparer, essayer d'identifier les erreurs pour ensuite corriger mon vrai fichier de travail
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.0.6.2 (x64) sous Windows 10.0
-
- IdOOle de la suite
- Messages : 25973
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: Identifier les différences entre deux fichiers
Une bonne usine-à-gaz
Sans doute devrais-tu nous expliquer la finalité de ce qui s'apparente à un problème XY.
Pourquoi un classeur est rempli par plusieurs personnes ?
L'alimentation multiple d'informations sans doublon se fait plutôt par une base de données.

Sans doute devrais-tu nous expliquer la finalité de ce qui s'apparente à un problème XY.
Pourquoi un classeur est rempli par plusieurs personnes ?
L'alimentation multiple d'informations sans doublon se fait plutôt par une base de données.
-
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 17 juil. 2024 15:09
Re: Identifier les différences entre deux fichiers
Usine à gaz c'est le bon terme !Dude a écrit : ↑19 juil. 2024 06:07 Une bonne usine-à-gaz![]()
Sans doute devrais-tu nous expliquer la finalité de ce qui s'apparente à un problème XY.
Pourquoi un classeur est rempli par plusieurs personnes ?
L'alimentation multiple d'informations sans doublon se fait plutôt par une base de données.
Pour synthétiser : j'ai repris un poste vacant il y a peu, et les méthodes de travail sont on ne peut plus désorganisées, chacun fait "à sa sauce" >>> conséquence beaucoup de copies de fichiers, on commence à travailler sur l'un alors que l'original était autre part.
Dans mon cas le fichier de travail en question a déjà été tellement alimenté qu'il serait déraisonnable de repartir de zéro ; et j'en ai besoin pour m'en servir de matrice et le transformer en xml, sauf qu'il manquait les ID à savoir les n°de cotes et/ou de mauvais ID.
J'ai utilisé plusieurs fonctions pour tenter de remettre le bon numéro de cote associé à son numéro d'ordre, ce qui a plutôt bien marché, mais montre ses limites lorsqu'il y a eu des erreurs de saisie, d'où ma demande ici.
La finalité pour moi est donc de remettre au propre le fichier de travail en remettant les numéros d'ordre et les numéros de cotes correspondant pour chaque ligne, en vérifiant l'information sur mon fichier d'origine.
Mais je vais sûrement finir par seulement repérer les doublons sur les numéros d'ordre (uniques), faire le comparatif avec mon fichier original et corriger à la main, si cela est effectivement trop complexe via Calc

LibreOffice 7.0.6.2 (x64) sous Windows 10.0
-
- GourOOu
- Messages : 6057
- Inscription : 02 janv. 2009 23:56
Re: Identifier les différences entre deux fichiers
Bonjour,
Pour repérer les différences, j'ai regardé dans le fichier de travail les lignes qui ne se trouvaient pas dans le fichier original.
J'ai donc mis en colonne F la concaténation de chaque ligne du fichier original. Puis, en colonne K, j'ai utilisé la fonction EQUIV pour savoir si la concaténation de la ligne en cours du fichier de travail se trouvait dans le fichier original (ici en K3) : Si ce n'est pas le cas, alors la formule retourne le n° de ligne en cours, sinon c'est une cellule vide.
En colonne L, une autre formule retourne le n° de ligne, dans le fichier de travail, où le n° d'ordre est identique, pour faciliter la correction.
En colonne M, une autre formule retourne le n° de ligne, dans le fichier de travail, où le n° d'ordre est identique au n°d'ordre de cote dans le fichier de référence, dans le cas d'une inversion.
La cause des erreurs est très variée : par exemple, dans le fichier de travail, on trouve des espaces insécables en lieu et place d'espaces normaux au même endroit dans le fichier de référence. J'ai supprimé cette cause d'erreur en remplaçant tous les espaces insécables en espaces normaux. Parfois, il s'agit d'espaces, de majuscules ou minuscules, de signes de ponctuation, sans compter les inversions (comme vu plus haut) ou les titres manquants dans le fichier de référence…
Pour filtrer avec plus de pertinence, ou pourrait, par exemple, dans les formules, remplacer CONCAT() par MINUSCULE (CONCAT()), cela suppose que l'information Majuscule/minuscule n'a pas d'importance, à voir…
De toute manière… bon courage !
Cordialement,
Jean-Louis
Pour repérer les différences, j'ai regardé dans le fichier de travail les lignes qui ne se trouvaient pas dans le fichier original.
J'ai donc mis en colonne F la concaténation de chaque ligne du fichier original. Puis, en colonne K, j'ai utilisé la fonction EQUIV pour savoir si la concaténation de la ligne en cours du fichier de travail se trouvait dans le fichier original (ici en K3) :
Code : Tout sélectionner
=SI(ESTNA(EQUIV(CONCAT(B3:E3);$F$3:$F$2427;0));LIGNE(A3);"")
En colonne L, une autre formule retourne le n° de ligne, dans le fichier de travail, où le n° d'ordre est identique, pour faciliter la correction.
En colonne M, une autre formule retourne le n° de ligne, dans le fichier de travail, où le n° d'ordre est identique au n°d'ordre de cote dans le fichier de référence, dans le cas d'une inversion.
La cause des erreurs est très variée : par exemple, dans le fichier de travail, on trouve des espaces insécables en lieu et place d'espaces normaux au même endroit dans le fichier de référence. J'ai supprimé cette cause d'erreur en remplaçant tous les espaces insécables en espaces normaux. Parfois, il s'agit d'espaces, de majuscules ou minuscules, de signes de ponctuation, sans compter les inversions (comme vu plus haut) ou les titres manquants dans le fichier de référence…
Pour filtrer avec plus de pertinence, ou pourrait, par exemple, dans les formules, remplacer CONCAT() par MINUSCULE (CONCAT()), cela suppose que l'information Majuscule/minuscule n'a pas d'importance, à voir…
De toute manière… bon courage !
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 24.2.7.2 (x64 et Java 1.8.0_451) et AOO 4.1.15 (et Java x32 1.8.0_431), Windows 7 Édition Intégrale 64 SP1
-
- Fraîchement OOthentifié
- Messages : 5
- Inscription : 17 juil. 2024 15:09
Re: Identifier les différences entre deux fichiers
Bonjour,
merci beaucoup Jean-Louis !
Je vais combiner tes formules à une mise en forme conditionnelle sur les doublons en colonne A et F et y aller "à la mano" ; comme tu l'as dit il y a beaucoup de source d'erreurs variables et différentes.
Cela aura au moins le mérite de m'aider pour pointer les lignes qui posent problème et les corriger plus facilement
Je vais regarder également pour affiner la pertinence des filtres,
Bonne fin de semaine,
Cordialement
merci beaucoup Jean-Louis !
Je vais combiner tes formules à une mise en forme conditionnelle sur les doublons en colonne A et F et y aller "à la mano" ; comme tu l'as dit il y a beaucoup de source d'erreurs variables et différentes.
Cela aura au moins le mérite de m'aider pour pointer les lignes qui posent problème et les corriger plus facilement

Je vais regarder également pour affiner la pertinence des filtres,
Bonne fin de semaine,
Cordialement
LibreOffice 7.0.6.2 (x64) sous Windows 10.0