Comparaison de deux feuilles

Bonjour forum,

je besoin de votre aide car je travaille sur des fichiers excel .Et j'ai deux feuilles identiques et je dois effectuer une comparaison et ressortir les lignes modifiées et les lignes ajoutées

mais je ne sais vraiment comment m'y prendre comme je suis pas trop à l'aise dans le vba .

J'ai donc besoin de votre aide.

merci d'avance .

17comparaison.zip (12.83 Ko)

Bonjour,

voici un exemple, à tester.

Sub test()
Dim i As Long, plgA As Range, plgB As Range
Set plgA = Sheets("Feuil1").Range("B3:AF70")
Set plgB = Sheets("Feuil2").Range("B3:AF70")
For i = 1 To plgA.Count
 If plgB(i) <> plgA(i) Then Sheets("result ").Range(plgB(i).Address) = plgB(i)
Next
End Sub

Bonjour,

avant de regarder un peu, il est déconseillé de fusionner les cellules...

et ne pas écrire en dur les jours; il faut mettre la date style 22/07/2017 et un format personalisé "mmm"

P.

Bonjour,

merci de vous réponses

le problème est que je reçoit directement c'est fichier d'une autre application

c'est pas moi qui écrit en dur .

sabV j'ai tester ta macro mais ça me donne juste les lettres dans les cases modifiés .

comment modifier ton code pour prendre la ligne entière

à tester,

Sub test()
Dim i As Long, n As Long, plgA As Range, plgB As Range
Set plgA = Sheets("Feuil1").Range("B3:AF70")
Set plgB = Sheets("Feuil2").Range("B3:AF70")
For i = 1 To plgA.Count
 n = Range(plgB(i).Address).Row
 If plgB(i) <> plgA(i) Then Sheets("result ").Rows(n).Value = Sheets("Feuil2").Rows(n).Value
Next
End Sub

pour avoir le nom en colonne B, il faut transférer 2 lignes,

Sub test()
Dim i As Long, n As Long, plgA As Range, plgB As Range
Set plgA = Sheets("Feuil1").Range("B3:AF70")
Set plgB = Sheets("Feuil2").Range("B3:AF70")
For i = 1 To plgA.Count
 n = plgB(i).Row
 If plgB(i) <> plgA(i) Then Sheets("result ").Rows(n - 1 & ":" & n).Value = Sheets("Feuil2").Rows(n - 1 & ":" & n).Value
Next
End Sub
Rechercher des sujets similaires à "comparaison deux feuilles"