Epurer un fichier de données avec lignes dont une seule cellule est identique

Nicolas 1982

XLDnaute Nouveau
Bonjour,
Je suis amené à réaliser régulièrement des extractions d'une base. j'ai ajouté la colonne CI à cette extraction qui est nécessaire pour le suivi que je veux faire.
Mon problème est qu'à chaque nouvelle extraction j'ai de nouvelles lignes + les anciennes.
J'avais pour habitude de supprimer les doublons (ce qui me faisait conserver les informations que j'avais ajouté à la première occurrence de la ligne mais qui a pour inconvenant que ma première occurrence ne sera jamais complète (dans le temps certaines colonnes sont implémentées car c'est issu d'un worflow et donc la deuxième occurrence peut avoir plus d'information que la première (en clair plus de cellules complétées dans la 2ème occurrence...)

Est-il possible que lorsque j'ajoute à la suite du tableau mon extraction du jour, Excel identifie les lignes en doubles (avec pour donnée d'entrée la Colonne A) puis copie les cellule de la deuxième occurrences dans celles de la première occurrence (sauf colonne CI qui est complétée par moi manuellement dans Excel).

Exemple en PJ j'avais une extraction qui s'arrêtait à la ligne 531, j'ai ajouté mon extraction du jour à partir de la ligne 532. De nombreuses lignes sont en doubles mais avec données différentes (exemple 531 et 1061). J'ai pour l'exemple complété la colonne CI de la ligne 531.
J'aimerai obtenir comme résultat :
la ligne 531 complétée des données de la ligne 1061 ET que la ligne 1061 soit ensuite supprimée ET que si une ligne est détectée dans la nouvelle extraction (donc en deuxième partie de tableau) mais qu'elle n'existait pas dans mon extraction précédente que toute la ligne soit conservée.
Ce qui fait que j'aurai une extraction complète et épurée à chaque nouvelle extraction que j'ajouterai à la suite de mon tableau précédent.

J'espère avoir été assez clair, n'hésitez pas à me demander plus d'information.

Merci.

Niko
 
Dernière modification par un modérateur:

David Aubert

XLDnaute Barbatruc
Administrateur
Modérateur
Bonjour Nicolas et bienvenue sur XLD,

Rappel de ce point très important de la charte :
1028368


Il est totalement interdit sur ce site et ailleurs de poster des données confidentielles et personnelles.
Ton fichier était remplit de données confidentielles et en plus des données de santé. :eek:
Pour information, tu peux être tenu responsable et en faute par ton employeur pour cela.

J'ai bien entendu supprimé ton fichier.

Il faut donc poster des fichiers anonymisées sur ce site.

Merci de respecter cette règle

Bonne journée

PS : Merci encore aux contributeurs de XLD qui prennent le temps de m'alerter lorsque nécessaire! ;)
 

Nicolas 1982

XLDnaute Nouveau
Bonjour,
Ci-joint mon fichier nettoyé :
Merci pour vote aide en considérant que les lignes 2 à 4 inclue correspondent à ma première extraction de la semaine dernière. Les lignes 5 à 8 inclue correspondent aux données de mon extraction d'aujourd'hui.
La problématique reste celle évoquée dans mon premier post.

Merci !
 

Pièces jointes

  • Suivi des avoirs EFS OCPM - Test.xlsx
    127.9 KB · Affichages: 9

eriiic

XLDnaute Barbatruc
Bonjour,

j'ai jeté un oeil à ton fichier.
Si tes nouvelles lignes n'ont aucune perte d'information comme sur l'exemple, il serait plus rapide pour la macro de supprimer l'ancienne. Inutile dans ce cas de comparer 88 colonnes pour ne mettre à jour que les nouvelles données.

Tu pourrais aussi, dans ce cas, le faire avec une simple formule dans une colonne ajoutée :
Code:
=SI(ET(NB.SI([Numéro];[@Numéro])>1;EQUIV([@Numéro];A:A;0)=LIGNE());"supp";"")
Plus qu'à filtrer les supp et supprimer ces lignes
eric
 

Nicolas 1982

XLDnaute Nouveau
Bonjour,

j'ai jeté un oeil à ton fichier.
Si tes nouvelles lignes n'ont aucune perte d'information comme sur l'exemple, il serait plus rapide pour la macro de supprimer l'ancienne. Inutile dans ce cas de comparer 88 colonnes pour ne mettre à jour que les nouvelles données.

Tu pourrais aussi, dans ce cas, le faire avec une simple formule dans une colonne ajoutée :
Code:
=SI(ET(NB.SI([Numéro];[@Numéro])>1;EQUIV([@Numéro];A:A;0)=LIGNE());"supp";"")
Plus qu'à filtrer les supp et supprimer ces lignes
eric
Bonjour,
Mon problème est que la dernière colonne est un suivi que je fais à la main en plus de l'extraction il faudrait dans ce cas une formule me permettant de recopier ce qui était écrit sur la première ligne...? et que l'information soit conservée après suppression de cette dernière.
 

eriiic

XLDnaute Barbatruc
C'est quoi la dernière colonne pour toi ?
Avant tu parlais de CI, ici la dernière est CJ ?!?
Pars du principe qu'on conserve la dernière entrée. Que faut-il lui modifier à partir de la 1ère ?
Donne les noms des colonnes plutôt que 'la dernière'.
Là tu dis
 

Nicolas 1982

XLDnaute Nouveau
C'est quoi la dernière colonne pour toi ?
Avant tu parlais de CI, ici la dernière est CJ ?!?
Pars du principe qu'on conserve la dernière entrée. Que faut-il lui modifier à partir de la 1ère ?
Donne les noms des colonnes plutôt que 'la dernière'.
Là tu dis
Oui désolé c'est plus simple avec les lettres... Dans le fichier mis dans mon post plus haut, la dernière colonne dans laquelle j'inscris manuellement est la colonne CI (CJ serait sur ton fichier mais pas celui initial que j'ai intégré).
 

Discussions similaires

Réponses
3
Affichages
407