Copier la feuille d'un fichier excel dans un autre fichier excel

Résolu/Fermé
ENJOY2020 Messages postés 2 Date d'inscription samedi 6 juin 2020 Statut Membre Dernière intervention 9 juin 2020 - Modifié le 7 juin 2020 à 08:25
ENJOY2020 Messages postés 2 Date d'inscription samedi 6 juin 2020 Statut Membre Dernière intervention 9 juin 2020 - 9 juin 2020 à 00:06
Bonjour,

Je sais que ce sujet a déjà été traité des dizaines de fois mais comme d'habitude chez moi cela ne fonctionne pas.

Comme l'indique le titre de la question, j'aimerais copier la feuille d'un fichier Excel dans un autre fichier Excel. En l’occurrence ici ce sont des données des années 2010 à 2019 (donc 10 fichiers Excel) que je veux regrouper dans un seul et unique fichier qui se nommerait 2010-2019

Voici mon code source :

Sub initialisation()

'Création du fichier Excel et test s'il existe'
    Dim MonFichier As String
    MonFichier = "2010-2019.xlsx"
  
    If FichierExiste(MonFichier) = False Then
        Workbooks.Add.SaveAs Filename:=("2010-2019.xlsx")
    End If

    Workbooks.Open Filename:=("2010")
    Workbooks.Open Filename:=("2010-2019.xlsx")
    
    Workbooks("2010-2019.xlsx").Activate
    Workbooks("2010").Sheets("2010").Copy Destination:=Workbooks("2010-2019.xlsx").Sheets("2010")

End Sub



Et forcément à l'exécution de la dernière ligne j'ai le message : erreur d'exécution '9'.

Si quelqu'un peut me dire ce que je fais qui ne va pas cela m'aiderait grandement.

Merci d'avance.

Configuration: Windows / Opera 68.0.3618.125
A voir également:

3 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
7 juin 2020 à 07:53
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
7 juin 2020 à 08:26
0
ENJOY2020 Messages postés 2 Date d'inscription samedi 6 juin 2020 Statut Membre Dernière intervention 9 juin 2020
9 juin 2020 à 00:06
Bonsoir,

J'ai pu tester les codes que vous me proposez ce soir. Finalement la solution était d'enlever le .Activate... Le code suivant fonctionne :

Sub initialisation()

'Création du fichier Excel et test s'il existe'
Dim MonFichier As String

MonFichier = "2010-2019.xlsx"

If FichierExiste(MonFichier) = False Then
Workbooks.Add.SaveAs Filename:=("2010-2019")
End If


Workbooks.Open "2010"
Workbooks.Open "2010-2019"

Workbooks("2010").Sheets("2010").Copy After:=Workbooks("2010-2019").Sheets(1)

Workbooks("2010-2019").Close SaveChanges:=True
Workbooks("2010").Close SaveChanges:=True


End Sub


Bonne soirée et merci pour votre réactivité.
0