Comparer des cellules dans 2 fichiers Excel

Alloha -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je souhaite comparer les valeurs des cellules de deux fichiers Excel et créer par la suite un fichier qui récapitule là où il y a une différence entre mes cellules ?

Par avance merci.

2 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    je pense que c'est réalisable.
    quelles sont tes connaissances en VBA? veux-tu apprendre?
    0
    1. Alloha
       
      Merci pour ta réponse, oui je travaille avec VBA mais je ne suis pas experte! j'apprends au fur et à mesure que j'aurai besoin d'une fonctionnalité ! Si tu as une idée comment le faire, laisse moi savoir et je pourrais l'adapter à mon cas :)
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Alloha
         
        voici un exemple:
        Option Explicit
        
        Private Sub comp()
        Dim c1 As Workbook, c2 As Workbook
        
        Dim r1 As Range, r2 As Range, rdest As Range
        
        Set c1 = Workbooks.Open(ThisWorkbook.Path + "\f1.xlsx")
        Set c2 = Workbooks.Open(ThisWorkbook.Path + "\f2.xlsx")
        Set r1 = c1.Sheets("Sheet1").[A1]
        Set r2 = c2.Sheets("Sheet1").[A1]
        Set rdest = ThisWorkbook.Sheets("Sheet1").[A1]
        Do While r1 <> ""
            If r1 <> r2 Then
                rdest = r1.Row
                rdest.Offset(0, 1) = r1
                rdest.Offset(0, 2) = r2
                Set rdest = rdest.Offset(1, 0)
            End If
            Set r1 = r1.Offset(1, 0)
            Set r2 = r2.Offset(1, 0)
        Loop
        End Sub
        
        0
      2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        un autre exemple:
        Private Sub comp2()
        Dim c1 As Workbook, c2 As Workbook
        
        Dim r1 As Range, r2 As Range, rdest As Range
        Dim f2 As Worksheet
        
        Set c1 = Workbooks.Open(ThisWorkbook.Path + "\f1.xlsx")
        Set c2 = Workbooks.Open(ThisWorkbook.Path + "\f2.xlsx")
        Set f2 = c2.Sheets("Sheet1")
        Set rdest = ThisWorkbook.Sheets("Sheet1").[A1]
        For Each r1 In c1.Sheets("Sheet1").UsedRange
            Set r2 = f2.Range(r1.Address)
            If r1 <> r2 Then
                rdest = r1.Address
                rdest.Offset(0, 1) = r1
                rdest.Offset(0, 2) = r2
                Set rdest = rdest.Offset(1, 0)
            End If
        Next r1
        End Sub
        0
  2. Alloha
     
    Merci beaucoup, je vais les tester :)
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      ces codes doivent se trouver dans le fichier qui va enregistrer les différences.
      0