Comparaison de feuilles et synthèse selon critères

Je dois comparer 2 feuilles Excel dont le format sera toujours identique et la feuille f2 toujours à une date postérieur à la première feuille f1. La feuille f2 sera une mise à jour de f1 comportant soit des suppressions soit de nouveaux services soit des modifications.

La clé se trouve en colonne "A"

Pour une modification quel que soit la colonne sauf la colonne "J", recopier la ligne depuis "f2" et indiquer "U" pour update en colonne "J" et coloriez les cellule modifié en rouge, il peut y avoir plusieurs modifications (changement du nbr de personnes, de vol etc...)

Lorsque l'enregistrement n'est pas présent en f2, cela veut dire que le service est supprimé, recopier la ligne depuis "f1" et indiquer "D" pour Deleted" en colonne "J".

Pour un nouveau service présent en f2 et non en f1, recopier depuis "f2" et indiquer "C" pour Création en colonne "J".

Pour le moment tous les cas sont gérés (grâce à Banzai64 et quelques petites modifs car mes besoins ont changé). Cependant si un enregistrement à plusieurs modifications il me recopie autant de fois l'enregistrement qu'il y a de modifications, or il faudrait

qu'il me recopie l'enregistrement depuis f2 une seule fois et colorise les cellules modifié en rouge.

De plus il y a une copie d'une quinzaine d'enregistrement vide avec une valeur en "J", j'ai rajouté du code pour enlever les lignes vide, mais pourquoi les copie t'il ?

Mes connaissances en VBA son trop limitées.

Merci beaucoup pour votre aide.

Bonjour,

Bon cela fait 4 jours que j'essai de régler mon souci.

J'ai rajouté un petit bout de code afin de supprimer les ligne vide et cela fonctionne,mais pour les lignes en double non.

Si quelqu'un peut regarder mon petit code et me dire d'ou vient le problème et ce qu'il faut modifier, je lui en serait grandement reconnaissant.

For k = m To 5 Step -1
    If .Cells(k, 10) = "" Then .Rows(k).Delete   'On supprime les ligne ayant leurs cellule en colonne J vide
    If .Cells(k, 1) = "" Then .Rows(k).Delete      'On supprime les lignes ayant leurs cellules en colonne "A" vide (Je ne sais pas pourquoi il copie des lignes vides)

    Set Cel = .Columns("A").Find(what:=.Range("A" & k), LookIn:=xlValues, lookat:=xlWhole)
           F3.Range("A" & Cel.Row) = "A"   
   If .Range("A" & Cel.Row) = .Range("A" & L) Then .Rows(k).Delete

   '     If .Range("A" & Cel.Row) = .Range("A" & L) Then .Rows(k).Delete

Next k

   End With

oups j'ai oublié de joindre le fichier.

Rechercher des sujets similaires à "comparaison feuilles synthese criteres"