2 feuilles à comparer pour retrouver les modifications

Bonjour à vous,

Je devrais retrouver dans la feuille 1 les lignes qui ne se trouvent plus dans la feuille 2 ( en 1 couleur par ex) et dans la feuille 2 les lignes ajoutées par rapport à la feuille 1.

J'ai joins mon fichier, mais j'ai du enlever des colonnes car il est trop volumineux. Je pense que cela ne change rien pour le résultat.

Je ne suis pas forte en excel, mais je vais devoir m'y mettre car je suis la seule maintenant dans le service à me débrouiller

J'ai déjà repéré vos cours VBA, ils sont très clairs et bien aérés, je commence dès que possible.

merci de votre éventuelle aide,

Françoise.

Bonsoir Françoise le forum

bon alors si j'ai compris tu veux comparer la feuille inventaire base par rapport au définitif et colorier les lignes disparues dans la base?? si oui on va faire

Tu veux que si une cellule de la ligne à changée que la ligne complète soit coloriée?

Est-ce que les lignes qui ont changées on été supprimées ?

peut-on comparer que la première colonne ou doit on tout vérifier??

dans l'attente de ta réponse

a+

papou

Bonsoir Papou

Oui, je voudrais trouver les lignes disparues, mais aussi les lignes éventuellement ajoutées.

Nous n'avons plus de contact avec la personne, donc je ne sais pas si il a ajouté et enlevé des lignes. Dans notre cas se serait possible. Donc les lignes non présentes dans la base, devraient être colorées (différements) aussi dans la définitive. Car c'est sur l'inventaire de base que nous avons travaillés, la définitive a été retrouvée sur l'ordi de la personne après son départ.

Comme beaucoup de titres (col. B) sont identiques, il y a la colonne A (services) pour les différencier.

Je ne sais pas si c'est tout clair pour toi, ,

de ton aide,

Françoise

Bonjour Françoise le forum

tout clair pas vraiment mais on va essayer de faire ce que l'on peut

a+

papou

Re Bonsoir Françoise le forum

ton fichier en retour

tu cliques sur le bouton traiter et tu auras dans les deux feuilles les lignes en jaune qui n'existent pas dans l'autre feuille

a+

papou

Re Françoise le forum

j'ai rajouté un message de fin de traitement

a+

papou

Bonjour à tous,

Autre solution, avec filtre

ici, on complète la feuille "Inventaire définitif" (on aurait pu inverser les feuilles),

les données doivent commencer en ligne 2 sur les 2 feuilles (avec ou sans en-têtes)

Sub Complète()
'-- de Claude pour Françoise le 29/02/2012 --
'on compare les 2 premières feuilles, et complète les manquants à la suite de la 2ème(ici ligne 2780)
'les données doivent commencer en ligne 2 sur les 2 feuilles (avec ou sans en-têtes)
'----------------------------------------------------------------------------------------------
Dim T, f1 As Worksheet, f2 As Worksheet
Dim Lg1&, Lg2&
    T = Time
    Application.ScreenUpdating = False
        Set f1 = Sheets(1)
        Set f2 = Sheets(2)
        Lg1 = f1.Range("a" & Rows.Count).End(xlUp).Row
        Lg2 = f2.Range("a" & Rows.Count).End(xlUp).Row

         '--- concatène colonnes A:C en colonne "j" ---
        f1.Range("j2:j" & Lg1) = "=a2&b2&c2"
        f2.Range("j2:j" & Lg2) = "=a2&b2&c2"
    With f1
        '--- filtre les manquants en f2 ---
        .Range("k2") = "=COUNTIF('" & f2.Name & "'!j2" & ":j" & Lg2 & ",'" & f1.Name & "'!j2)=0" 'critère
        .Range("a1:j" & Lg1).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        .Range("k1:k2"), Unique:=False

        '--- ajoute si manquants extraits ---
        If .Range("a" & Rows.Count).End(xlUp).Row > 1 Then
            .Range("a2:i" & Lg1).SpecialCells(xlCellTypeVisible) _
            .Copy Destination:=f2.Range("a" & Lg2 + 3)

            f2.Range("a" & Lg2 + 2) = "Ajout des manquants de la feuille  " & f1.Name & " - " & Now
            f2.Range("a" & Lg2 + 2).Resize(1, 7).Interior.ColorIndex = 8

            Application.Goto f2.Range("a" & Lg2), Scroll:=True
          Else: MsgBox ("rien à compléter !")
        End If
        .ShowAllData
        .Columns("j:k").Clear
    End With
        f2.Columns("j").Clear
    Application.ScreenUpdating = True
    MsgBox ("temps macro = " & Format(Time - T, "hh:mm:ss"))
End Sub

Bonne journée

Claude

Bonjour Papou !

Quelle rapidité ! Je suis à la maison, j'ai attrappé la grippe. Ici je suis en version 2003 et j'ai un message comme quoi je ne peux avoir le fichier qu'en lecture seule. Je ne pourrais voir ton travail que lundi matin au bureau.

Je te donnerai directement des nouvelles !

je' ne suis pas en état aujourd'hui de faire mes cours, mais j'espère pouvoir avancer un peu ce WE, je trouve cela magique le VBA !

Si je ne te lis plus d'ici là, bon week-end papou

Bonjour Françoise le forum

c'est normal il faut l'enregistrer sur ton PC et après tu le fermes et tu l'ouvres de nouveau et le problème sera réglé

Voilà une version xls pour 2003

a+

papou

Bonjour Papou !

Si tu repasses par içi... Je retouve beaucoup de lignes qui sont d'origine dans les 2 feuilles, il y a quand même quelque chose qui ne colle pas ?

Bonjour Claude,

Merci pour ta réponse, je finis ma jounée, mais je regarde ta solution demain matin. je ne suis pas très rapide, mais néanmoins très reconnaissante de votre aide ! )

Bonne soirée à tous,

Françoise

Bonsoir Françoise, à tous,

Dans tes 2 feuilles, certaines cellules ont des espaces parasites (en début ou à la fin),

je compte 8 lignes comme çà sur ton fichier exemple

Pour remédier à cela, j'ai modifié ces 2 lignes de code

         '--- concatène colonnes A:C sans espaces en colonne "j" ---
        [barrer]'f1.Range("j2:j" & Lg1) = "=a2&b2&c2"[/barrer]
        [barrer]'f2.Range("j2:j" & Lg2) = "=a2&b2&c2"[/barrer]
        f1.Range("j2:j" & Lg1) = "=TRIM(a2)&TRIM(b2)&TRIM(c2)"
        f2.Range("j2:j" & Lg2) = "=TRIM(a2)&TRIM(b2)&TRIM(c2)"

On se retrouve avec 8 lignes de moins à compléter !

à noter que l'on pourrait faire une macro préalable pour supprimer ces espaces.

Pour tester, ajoute par exemple "toto" à la fin de la colonne "A" de la 1ère feuille, et relance la macro.

Voici une version modifiée pour 2003

Amicalement

Claude

Bonjour Françoise le forum

Tu retrouves beaucoup de lignes qui sont d'origine ???

Je pensais que tu comprendrais mais non apparemment, peut-être n'as tu pas lu ce que j'avais écrit !!!!!

tu cliques sur le bouton traiter et tu auras dans les deux feuilles les lignes en jaune qui n'existent pas dans l'autre feuille

Alors cela veux dire que si tu trouves dans la feuille 1 une ligne en Jaune elle n'existe pas dans l'autre feuille et pareil pour l'autre

Si tu veux que je supprime les lignes je peux le faire, mais ton fichier avec les lignes différentes en évidence me paraissait une bonne idée surtout pour comparer .

Donc tu avais les lignes manquantes et ajoutées ou modifiées, alors si c'est pas ce que tu veux redis le.

Si tu veux que toutes les lignes non colorées (donc identique en feuille 1 et feuille2 soient supprimées c'est possible)

a+

papou

Rechercher des sujets similaires à "feuilles comparer retrouver modifications"