fision de deux fichiers

  • Initiateur de la discussion Initiateur de la discussion ririrourou
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
525
Réponses
5
Affichages
671
Réponses
8
Affichages
252
Réponses
5
Affichages
434
Réponses
8
Affichages
632
Retour