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:
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
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.xls13.5 KB · Affichages: 34
-
fichier2.xls13.5 KB · Affichages: 30
-
fichier final.xls29.5 KB · Affichages: 33
-
fichier1.xls13.5 KB · Affichages: 30
-
fichier2.xls13.5 KB · Affichages: 39
-
fichier final.xls29.5 KB · Affichages: 35
-
fichier1.xls13.5 KB · Affichages: 33
-
fichier2.xls13.5 KB · Affichages: 33
-
fichier final.xls29.5 KB · Affichages: 31
Dernière édition: