Dans Excel, vous ne pouvez copier des feuilles vers d’autres classeurs que s’ils sont ouverts.
Ainsi, la séquence de copie de feuilles de calcul dans un autre classeur est la suivante:
- Ouvrez les classeurs cible.
- Processus de copie.
- Enregistrez et fermez le classeur cible.
Vous pouvez le faire plus rapidement avec l’aide de VBA. L’ensemble du processus peut s’exécuter en arrière-plan.
Sub CopieFeuilleCalcul ()
Dim monclasseur As Workbook
Dim mafeuille As Object
Set mafeuille = ActiveSheet
Application.ScreenUpdating = False
On Error Resume Next
Set monclasseur = Workbooks.Open _
("C:\MES DOSSIERS\Classeur1.xls")
mafeuille.Copy Before:=monclasseur.Sheets(1)
monclasseur.Save
monclasseur.Close
Application.ScreenUpdating = True
End Sub
Pour éviter d’avoir à suivre le processus à l’écran, désactivez la mise à jour de l’écran au début de la macro. Ensuite, ouvrez un classeur spécifique (Classeur1.XLS) et copiez la feuille de calcul actuelle dans ce classeur. Ensuite, enregistrez et fermez le classeur. Ce n’est qu’alors que vous réactivez la mise à jour de l’écran.