Bonsoir à tous,
Voici une petite astuce :
Sub fusion()
Dim valeur, plage As Range
'blocage de l'affichage
Application.ScreenUpdating = False
'Ouverture du premier fichier
Workbooks.Open "d:\mes documents\excel\fichier1.xls"
With Sheets("Feuil1")
'récupération du dernier numéro de la ligne du tableau
ligne = .Cells(65536, 1).End(xlUp).Row
'récupération de l'adresse de la dernière
'cellule en bas à droite du tableau
colonne = .Cells(ligne, 256).End(xlToLeft).AddressLocal
'affectation à la variable PLAGE du tableau complet
Set plage = .Range("a1:" & colonne)
End With
'sélection du tableau complet
plage.Select
'copie de la sélection
Selection.Copy
'activation du fichier FUSION précédemment ouvert
Workbooks("fichierfusion").Activate
With Sheets("feuil1")
'sélection de la cellule A1 de la feuille FEUIL1
.Range("a1").Select
'collage de la sélection
.Paste
'sélection de la première ligne vide du tableau fusion
.Range("a" & ligne + 1).Select
End With
'désactivation des alertes EXCEL
Application.DisplayAlerts = False
'fermeture du premier fichier
Workbooks("fichier1.xls").Close
'activation des alertes EXCEL
Application.DisplayAlerts = True
'Ouverture du second fichier
Workbooks.Open "d:\mes documents\excel\fichier2.xls"
With Sheets("Feuil1")
'récupération du dernier numéro de la ligne du tableau
ligne = .Cells(65536, 1).End(xlUp).Row
'récupération de l'adresse de la dernière
'cellule en bas à droite du tableau
colonne = .Cells(ligne, 256).End(xlToLeft).AddressLocal
'affectation à la variable PLAGE du tableau complet
Set plage = .Range("a2:" & colonne)
End With
'sélection du tableau complet
plage.Select
'copie de la sélection
Selection.Copy
'activation du fichier FUSION précédemment ouvert
Workbooks("fichierfusion").Activate
With Sheets("feuil1")
'collage de la sélection
.Paste
'sélection de la cellule A1
.Range("a1").Select
End With
'désactivation des alertes EXCEL
Application.DisplayAlerts = False
'fermeture du premier fichier
Workbooks("fichier2.xls").Close
'activation des alertes EXCEL
Application.DisplayAlerts = True
'sauvegarde du fichier fusion
Workbooks("fichierfusion").Save
'mise à jour de l'affichage
Application.ScreenUpdating = True
End Sub
@+
Ronan