Comparer 2 feuilles et ajouter la ligne manquante

khris75

XLDnaute Nouveau
Bonjour,
malgré quelques essais , je n'arrive pas à obtenir le résultat final.

Information globale : Nous avons un service qui envoie a chaque département ses montants de transaction(extract CAP PE).
Les données sont importées dans un fichier (LIAISON ISO ICA.xls) dans lequel chaque ligne importée est affecté à un projet en dépendance .
Le problème : A chaque mise à jour d'importation sur le fichier, une ligne peut se glisser et par conséquent la dépendance au projet est erronée et on ne peut suivre correctement chaque projet ce qui oblige à chaque fois à comparer avec des lignes (MFC).
La solution : une macro qui compare les lignes entre entre les 2 feuilles ( le mieux est par le numéro FEB) et si le numéro n'existe pas elle crée la ligne manquante avant de faire la mise à jour des données.

J’espère que vous pourriez m'aider .
En pièce jointe les deux fichiers pour mieux comprendre ( similaires aux réelles)

Bien cordialement,
khris
 

Pièces jointes

  • Extract CAP PE 2013.xls
    53 KB · Affichages: 66
  • LIAISON ISO ICA.xls
    321.5 KB · Affichages: 88

GIBI

XLDnaute Impliqué
Re : Comparer 2 feuilles et ajouter la ligne manquante

Bonjour,


La demande n'est pas très claire, et je pense qu'il y a une petite erreur d'approche :

Pour rester simple et éviter de se lancer dans du VBA

Si le classeur "Liaison ISO ICA" est la référence il faut que les données invariante soit figées (au moins le code FEB qui doit être l'identifiant unique). Les autres valeurs peuvent être actualisées via des fonctions INDEX et Equiv.
Ceci rend indépendant le tri des classeurs extract et Liaison.

en a3 de ISO ICA
=INDEX('[Extract CAP PE 2013.xls]Feuil1'!A$3:A$211;EQUIV($C3;'[Extract CAP PE 2013.xls]Feuil1'!$C$3:$C$211;0))


maintenant pour trouver les nouveau codes :
on peut le faire avec un filtre élaboré sur la feuille extract ou une fonction EQUIV
exemple en J3 entrer la formule =SI(ESTERREUR(EQUIV(C3;'[Copie de LIAISON ISO ICA.xls]Extract CAP PE'!$C$3:$C$210;0));"Nouveau";"") à recopier sur la colonne


Si la manipulation est à faire très souvent une automatisation pourrait être effectué mais il faut bien définir ce que l'on veut obtenir (données à modifiées, que contient l'extraction (tout ou uniquement ce qui a bougé....),....)


bon courage

GIBI

PS : attention un tableau Excel doit comporter une ligne entête et des lignes détails. Autrement dit les totaux doivent être avant le tableau ou à la fin mais pas en 2eme lignes sinon filtre impossible (par exemple)
 

Pièces jointes

  • Copie de LIAISON ISO ICA.xls
    237.5 KB · Affichages: 89
Dernière édition:

Discussions similaires

Réponses
8
Affichages
679

Statistiques des forums

Discussions
312 392
Messages
2 088 004
Membres
103 695
dernier inscrit
acimi