fision de deux fichiers

ririrourou

XLDnaute Nouveau
fusion de deux fichiers ecxel en VBA

bonjour tout le monde;

afin de fusionner de fichier grâce au numéro à la colonne des numéro de compte qui est commune, mon porblème est le suivant: étant donné que jebosse sur des numéro de compte pour un comptable les numéro de compte entre les deux fichier que j'ai ne sont pas tout à fait commune au dépar j'ai essaie de modifier les compte pour que ca donne le même numéro et j'ai pu faire ma fusion mais quand je suis retournée au vraie données que j'avais ca fonctionnait plus viola mon code pourla fusion:

Code:
Sub FusionFeuilles()
        
    Dim Tableau1, Li1&, Co1&
    Dim Tableau2, Li2&, Co2&
    Dim Tableau3, Li3&, Co3&
    
    Application.ScreenUpdating = False
    Fichier_analyse = ThisWorkbook.Name
    
    
    Call RechercheFichier(Chemin, Fichier1_à_Analyser)
    Workbooks.Open Filename:=Chemin & "\" & Fichier1_à_Analyser, local:=True
    
    Call RechercheFichier(Chemin, Fichier2_à_Analyser)
    Workbooks.Open Filename:=Chemin & "\" & Fichier2_à_Analyser, local:=True
    
    Windows(Fichier1_à_Analyser).Activate
    
    lig = 1
    Do
        x = Cells(lig, 2).Value
        y = Cells(lig + 1, 2).Value
        z = Cells(lig + 2, 2).Value
        w = Cells(lig + 3, 2).Value
        
        If x = "" And y = "" And z = "" Then
            Exit Do
        End If
        
        lig = lig + 1
    Loop
    
    Range("A1:C" & lig).Select
    
    Tableau1 = Selection.Value
    ActiveWindow.Close SaveChanges:=False
    
    
    Windows(Fichier2_à_Analyser).Activate
    
    lig = 1
    Do
        x = Cells(lig, 1).Value
        y = Cells(lig + 1, 1).Value
        z = Cells(lig + 2, 1).Value
        
        If x = "" And y = "" And z = "" Then
            Exit Do
        End If
            
        lig = lig + 1
    Loop
    
    Range("A1:F" & lig).Select
    
    Tableau2 = Selection.Value
    
    ActiveWindow.Close SaveChanges:=False
    
    
    ReDim Tableau3(UBound(Tableau1, 1), 10)
    
    Windows(Fichier_analyse).Activate
    
    k = 0
    
[COLOR="Red"]    For i = LBound(Tableau1, 1) To UBound(Tableau1, 1)
        
        k = k + 1
        
        Tableau3(k, 1) = Tableau1(i, 1)
        Tableau3(k, 2) = Tableau1(i, 2)
        Tableau3(k, 3) = Tableau1(i, 3)

        For j = LBound(Tableau2, 1) To UBound(Tableau2, 1)
            If Val(Tableau1(i, 2)) > 0 Then
                If Tableau1(i, 2) = Tableau2(j, 1) Then
                
                    If Tableau2(j, 5) <> "" Or Tableau2(j, 6) <> "" Then
                            Tableau3(k, 10) = Val(Tableau2(j, 5)) + Val(Tableau2(j, 6))
                    ElseIf Val(Tableau2(j, 5)) = 0 And Val(Tableau2(j, 6)) = 0 Then
                        Tableau3(k, 10) = ""
                    End If
                    
                End If
            End If
        Next j
        
    Next i[/COLOR]    
    
    lig = 1
    
    For i = LBound(Tableau3, 1) To UBound(Tableau3, 1)
        Cells(lig, 1).Value = Tableau3(i, 1)
        Cells(lig, 2).Value = Tableau3(i, 2)
        Cells(lig, 3).Value = Tableau3(i, 3)
        Cells(lig, 10).Value = Tableau3(i, 10)
        
            lig = lig + 1
            
    Next i
    
    Beep
    Application.ScreenUpdating = True
    
End Sub

Gros somodo, je cherche les deux fichiers a fusionner, je mets mes données dans deux tableaux que je nomme tableau1 et tableau2 et je mets mon résultat final dans un nouveau tableau3 afin de le copier à la fin dans mon fichier Excel sur le quel je travaille. La partie en rouge est la partie ou se fasse la fusion.

Je joins a cette explication 3 fichiers Exemple fichier1 et fichier2 représente les deux fichiers sur lesquel je compte faire ma fusion et fichier final represente le résultat que j'aimerais obtenir

Ce qui est demandé est que chaque fois que je trouve par exemple dans fichier2 un numéro de compte 123001 est 123000 on fait l'addition et on l'insere avec le numéro de compte 123

merci d'avance pour vos réponses
 

Pièces jointes

  • fichier1.xls
    13.5 KB · Affichages: 34
  • fichier2.xls
    13.5 KB · Affichages: 30
  • fichier final.xls
    29.5 KB · Affichages: 33
  • fichier1.xls
    13.5 KB · Affichages: 30
  • fichier2.xls
    13.5 KB · Affichages: 39
  • fichier final.xls
    29.5 KB · Affichages: 35
  • fichier1.xls
    13.5 KB · Affichages: 33
  • fichier2.xls
    13.5 KB · Affichages: 33
  • fichier final.xls
    29.5 KB · Affichages: 31
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 836
Messages
2 092 654
Membres
105 479
dernier inscrit
chaussadas.renaud