Comparer deux tableaux de deux fichiers différents

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

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.

Comparer deux tableaux de deux fichiers différents

Messagepar ianou » 16 Avr 2019 15:57

Bonjour à tous ceux qui m'aideront et bien entendu également à tous ceux qui me liront,
Je poste mon message dans "Débutant sur le forum" déjà parce que c'est mon premier message ici, et ensuite puisque je ne sais pas s'il doit aller dans le sous forum "Calc" ou dans "Macro", je laisse donc aux bons soins des modérateurs de le transférer où bon leur semble en les remerciant à l'avance.

Passons dans le vif du sujet, avant tout je suis sous Windows 10 Entreprise et Libre office Version: 5.4.7.2.M6 (x64) version obligatoire

Maintenant le problème initial, je voudrais comparer deux tableaux de deux fichiers différents pour m'assurer que les valeurs rentrées à l'intérieur sont bien les mêmes. Sur le papier ça semble simple mais il y a quelques subtilités qu'il me faudrait qui seront indispensable, je m'explique :

1. La comparaison doit se faire entre deux fichiers qui ne sont pas tout à fait les mêmes. Pour mieux expliquer je vais vous insérer un document Libre Office Writer.
exemple.odt
exemple des deux fichiers que j'ai besoin de comparer.
(10.82 Kio) Téléchargé 7 fois


Le Fichier 2 est généré automatiquement et n'est pas modifiable. Le Fichier 1 lui est remplie à la main tout au long du mois. L'idée est de comparer les lignes de chaque tableau en les rapprochant par les "Données A": Les "Données A" des deux tableaux sont des valeurs sures qui ne pourront pas avoir d'erreur donc elles seront pris comme point de repaire pour comparer une ligne. Premier problème les "Données A" ne sont pas situées aux mêmes endroits sur les lignes de chaque Fichiers.

Une fois ces points de repaires reconnus, il faudrait comparer les lignes complètes, mis à part les "Données A", toutes les autres données des lignes du Fichier 1 ou du Fichier 2 se suivent de la même façon. Deuxième problèmes certaines lignes apparaissent dans le Fichier 1 en plein milieu du tableau et n'ont rien à voir avec le Fichier 2.

2. Une fois les lignes comparées, j'aimerais que si quelques erreurs ont été commises entre le Fichier 1 et le Fichier 2, que les cases d'erreurs se colorent en rouge sur le Fichier 1.

Bon voilà, pour moi et vu que je sais exactement ce que je veux ça me parait clair mais pour une personne extérieure, je sais pas si c'est très limpide. J'invite donc toute personne qui nécessiterait d'autres informations ou explications à me les poser directement, et je remercie à l'avance toutes les personnes disposées à m'aider. Cela fait déjà quelques temps que je planche sur ce problème, principalement en cherchant sur le net sans trouver de solution.
Dernière édition par Oukcha le 16 Avr 2019 16:17, édité 2 fois.
Raison: Balise [Calc] supprimée suite à déplacement depuis 'Débutant sur ce Forum'
Libre Office 5.4.7.2.M6 (x64) sous Windows 10 entreprise [b]par obligation[/b]
ianou
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 16 Avr 2019 14:33

Re: [Calc] Comparer deux tableaux de deux fichiers différent

Messagepar Oukcha » 16 Avr 2019 16:15

Bonjour et bienvenue,

Sujet transféré en section Tableur dans un premier temps, si seule une solution par macro est possible, nous vous prierons alors d’ouvrir un sujet en section Macros et API.

ianou a écrit:2. Une fois les lignes comparées

Nous vous rappelons que la règle n° 7 stipule qu'il ne faut mettre qu'une question par fil : les règles de ce forum

Poser plusieurs questions complique la compréhension et n'encourage pas les réponses : il vaut donc mieux découper votre problème. Le titre de votre question ne peut pas refléter l'ensemble des problèmes exposés.

Afin que nous puissions avoir une base de connaissance efficace lors d'une recherche sur un seul de vos problèmes, nous vous prions de créer autant de fil que de questions.

Merci de votre collaboration.
                                        
:arrow: A lire avant tout ! Image
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
 
Message(s) : 3043
Inscrit le : 06 Oct 2008 09:03

Re: Comparer deux tableaux de deux fichiers différents

Messagepar ianou » 16 Avr 2019 16:38

Je comprends bien cette règles numéro 7, néanmoins j'ai surtout voulu bien séparer les deux fragments de ma questions pour être le plus clair possible mais il s'agit de deux parties d'une même question, il va être dur et surtout inutile de faire une comparaison entre deux éléments si le résultats n'apparait nulle part à mon sens. Mais comme dit précédemment je ne suis pas un expert du tout dans ce domaine, et je me trompe peut être :/
Libre Office 5.4.7.2.M6 (x64) sous Windows 10 entreprise [b]par obligation[/b]
ianou
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 16 Avr 2019 14:33

Re: Comparer deux tableaux de deux fichiers différents

Messagepar Jean-Louis Cadeillan » 16 Avr 2019 20:48

Bonsoir,
Une comparaison suppose de bien connaître la forme des données. Dans ton exemple, tu mets Donnée A1... je doute que la donnée en question ait cette forme-là. Dans le fichier joint, j'ai fait abstraction de cette ambiguïté et basé mon approche sur la forme que tu donnes dans ton exemple. Pour simplifier, j'ai mis ton Fichier 1 comme Feuille 1 et ton Fichier 2 comme Feuille 2. La feuille Fichier 1B reprend les lignes de Fichier 1 qui contiennent A1 et seulement elles. La feuille Comparaison affiche VRAI si la ligne contient les trois mêmes valeurs (dans l'ordre donné par ton exemple).
Si ton jeu de données-exemple est très éloigné de ton vrai jeu de données, la solution proposée ici pourra tout au plus te mettre sur la voie...
On ne connaît pas vraiment le détail de la comparaison (l'ordre des B/C/A et A/B/C est-il toujours le même ? Les chiffres dans A1, A2, A3... sont-ils toujours croissants ?...) et je n'ai pas compris non plus ce que tu cherches à obtenir, la seule phrase qui comportait une indication ayant été rayée...
Ce serait bien de nous fournir, en plus des deux fichiers, le résultat souhaité (en plus des réponses aux questions ci-dessus).
Avec ces repères, nous pourront peut-être sortir du repaire...
Cordialement,
Jean-Louis
Pièces jointes
ianou_20190416_JLC01.ods
(20.02 Kio) Téléchargé 9 fois
LibreOffice 6.1.5.2 (x64) et Apache OpenOffice 4.1.5, Windows 7 Édition Intégrale 64 SP1, Java (x64) 1.8.0_201 (Domicile)
LibreOffice 5.4.1.2 (x86) sous Linux Karoshi 5.0 (Ubuntu LTS 16.04.1, noyau 4.4.0-93) et Xfce 4.12, Java (x86) 1.8.0_131 (Travail)
Avatar de l’utilisateur
Jean-Louis Cadeillan
ManitOOu
ManitOOu
 
Message(s) : 4259
Inscrit le : 03 Jan 2009 00:56

Re: Comparer deux tableaux de deux fichiers différents

Messagepar ianou » 17 Avr 2019 11:19

Bonjour Jean-Louis, tout d'abord merci pour ton aide et effectivement je me rend compte qu'il manque quelques informations de par ton message, comme j'ai dit c'est difficile de penser à donner toutes les infos étant donné que je connais bien mes fichiers, du coup ça fais un peu effet tunnel.

Pour te répondre, alors il s'agit de deux fichiers différents avec différentes feuilles et non pas différentes feuilles d'un même fichier. Ce qui rajoute en difficulté.
Les données que j'ai représenté par Donnée A, B, C etc peuvent être différentes valeurs ou du texte. La donnée A qui est le point de repaire entre les deux fichiers est un texte sous la forme X/Y/2019 (ce n'est pas une date) ou X et Y peuvent aller de 1 à 999.

En vrai il y a beaucoup plus que 3 colonnes de données j'ai simplifié pour l'exemple mais la donnée A qui reste le point de repaire se trouve au début du tableau dans le Fichier 2 et à la fin du tableau dans le Fichier 1 sinon toutes les autres données B, C, D etc... sont dans le même ordre à la suite les unes des autres. Il n'y a aucune correspondance entre ces données mis à part qu'elle appartiennent à la même affaire.

Malheureusement je n'ai pas l'autorisation de transmettre mes deux fichiers et donc je ne peux vous donner que des exemples.
Mais en gros, chaque ligne s'agit d'une intervention avec un numéro d'intervention : la donnée A, et après chaque colonne représente une information sur le lieu de l'intervention ou le nombre de chose d'un type effectuée lors de l'intervention donc comme dit plus haut il peut y avoir du texte ou des nombres qui n'ont rien à voir entre eux.

comme dit il me semble dans un message précédent le fichier 2 se rempli tout seul par un logiciel, mais le fichier 1 est rempli à la main puisqu'il comprend des interventions non mentionné dans le fichier 2.

Ce que je cherche à obtenir par le biais de formules ou de macros, je ne sais pas, c'est que sur le fichier 1 les cases, ou une erreur s'est glissé par rapport au fichier 2, deviennent rouge. Pour bien repérer qu'il y a eu une erreur et qu'il faut vérifier.

J'espère être un peu plus clair.

En tout cas ta réponse me donne déjà un début de piste de comment je peux faire cela.
Et je t'en remercie!

Cordialement,
ianou.
Libre Office 5.4.7.2.M6 (x64) sous Windows 10 entreprise [b]par obligation[/b]
ianou
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 16 Avr 2019 14:33

Re: Comparer deux tableaux de deux fichiers différents

Messagepar Jean-Louis Cadeillan » 20 Avr 2019 12:48

Bonjour,
ianou a écrit:il s'agit de deux fichiers différents avec différentes feuilles et non pas différentes feuilles d'un même fichier. Ce qui rajoute en difficulté
Là n'est pas la difficulté ; il suffit par exemple, de créer une feuille nommée « Fichier1 » dans le fichier 2 et en A1 de cette feuille saisir =, puis, le fichier 1 étant ouvert, de cliquer sur la cellule A1 de la feuille à comparer de ce fichier 1, puis Entrée : on crée ainsi un lien entre les deux fichier pour la cellule A1, qu'il suffit de cliquer glisser vers la droite et le bas pour rapatrier les autres valeurs du fichier 1 vers le fichier 2. Ce lien se mettra à jour à chaque ouverture ou par Édition > Lien vers des fichiers externes.
Tu cherches à discriminer les lignes contenant les données A des lignes contenant les données Y
ianou a écrit:La donnée A qui est le point de repère entre les deux fichiers est un texte sous la forme X/Y/2019 (ce n'est pas une date) ou X et Y peuvent aller de 1 à 999.
C'est une information utile... mais comme tu ne nous dis rien sur les informations Y, comment faire, quelle est leur forme ? Par exemple, si une donnée Y se termine aussi par 2019 et que mon test de discrimination est basé sur la présence à la fin de la donnée de 2019, je vais créer un faux positif !
ianou a écrit:une erreur s'est glissée par rapport au fichier 2
Une fois que les bonnes lignes seront connues (voir point précédent), je crois comprendre qu'il faut vérifier qu'il n'y a pas de différence entre la ligne du fichier 1 qui contient par exemple 887/331/2019 et celle du fichier 2 qui contient la même valeur.
ianou a écrit:toutes les autres données B, C, D etc... sont dans le même ordre à la suite les unes des autres
Cette information doit permettre de faire un test de comparaison du style
Code : Tout sélectionner   AgrandirRéduire
=ET(Fichier1.A1=Fichier2.B1;Fichier1.B1=Fichier2.C1;etc.)
ianou a écrit:Ce que je cherche à obtenir par le biais de formules ou de macros, je ne sais pas, c'est que sur le fichier 1, les cases où une erreur s'est glissée par rapport au fichier 2, deviennent rouges
Une fois le test de comparaison mis en place, il suffit de l'exploiter par une mise en forme conditionnelle (Format > Conditionnel > Condition).
Voilà quelques pistes et questionnements ...
Cordialement,
Jean-Louis
LibreOffice 6.1.5.2 (x64) et Apache OpenOffice 4.1.5, Windows 7 Édition Intégrale 64 SP1, Java (x64) 1.8.0_201 (Domicile)
LibreOffice 5.4.1.2 (x86) sous Linux Karoshi 5.0 (Ubuntu LTS 16.04.1, noyau 4.4.0-93) et Xfce 4.12, Java (x86) 1.8.0_131 (Travail)
Avatar de l’utilisateur
Jean-Louis Cadeillan
ManitOOu
ManitOOu
 
Message(s) : 4259
Inscrit le : 03 Jan 2009 00:56


Retour vers Tableur

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)