fusion de fichiers Excel

F

Franck

Guest
<HTML>Bonjour,

Existe t-il une méthode pour concaténer ou fusionner des fichiers Excel avec une macro VB ?

Franck</HTML>
 
S

stephane

Guest
<HTML>Bonjour,


il faudrait que tu précises ta demande.
veux-tu faire ça pour deux fichiers ? pour plus ? plusieurs fois ?

....

je te laisse un bout de code qui s'il fonctionne toujours permet de mettre bout à bout une colonne, cela ne répond pas à ta demande mais cela pourra t'inspirer peut-être.

Sub Fusion_Colonnes_MultiClasseurs()
Application.ScreenUpdating = False
Set targetSh = ActiveSheet
Dim varReturn As Variant, intLoop As Integer
Dim numColonne: numColonne = Application.InputBox("Colonne à fusionner", "Fusion de colonnes")
If TypeName(numColonne) = "Boolean" Then Exit Sub
varReturn = Application.GetOpenFilename("Excel Stuff,*.xls", _
1, "Select Some Files", , True)
If TypeName(varReturn) = "Boolean" Then Exit Sub
If TypeName(varReturn) = "String" Then
If MsgBox("un seul classeur sélectionné, continuer et coller le contenu de sa colonne au bas de la première colonne de votre feuille active ?", vbYesNo) = vbYes Then
Workbooks.Open varReturn
ActiveSheet.Range(Cells(1, CInt(numColonne)), Cells(65536, CInt(numColonne)).End(xlUp)).Copy Destination:=targetSh.[A65536].End(xlUp)
End If: Exit Sub
Else
For intLoop = 1 To UBound(varReturn) Step 1
Workbooks.Open CStr(varReturn(intLoop))
ActiveSheet.Range(Cells(1, CInt(numColonne)), Cells(65536, CInt(numColonne)).End(xlUp)).Copy Destination:=targetSh.[A65536].End(xlUp)
ActiveWorkbook.Close savechanges:=False
Next intLoop
End If
End Sub

bye
STephane</HTML>
 

Discussions similaires