dammex
Messages postés31Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention14 février 2017
-
Modifié par dammex le 10/05/2014 à 18:06
dammex
Messages postés31Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention14 février 2017
-
10 mai 2014 à 18:45
Bonjour à tous,
Comme indiqué dans le titre, je cherche à copier une feuille d'un classeur vers un autre classeur.
Le problème, c'est que j'obtiens le message d'erreur suivant :
"Erreur d'exécution 1004 - Erreur définie par l'application ou par l'objet"
J'avoue avoir vu beaucoup de propositions sur Internet mais aucune ne s'avère fonctionner... Ci-dessous mon code :
Private Sub Workbook_Open()
' Désactivation de la mise à jour de l'écran
Application.ScreenUpdating = False
' Déclaration des variables
Dim oFDlg As Object
Dim sFichier As String
Dim Workbook1 As Workbook, Workbook2 As Workbook
Set Workbook1 = ThisWorkbook
' Initialisation variable objet oFDlg
Set oFDlg = Application.FileDialog(1) ' msoFileDialogOpen = 1, msoFileDialogSaveAs = 2
' Titre de la boîte de dialogue
oFDlg.Title = "Sélection de la feuille de route..."
' Dossier de départ
oFDlg.InitialFileName = ThisWorkbook.Path
' Sélection multiple = Non
oFDlg.AllowMultiSelect = False
' Filtre
oFDlg.Filters.Clear
oFDlg.Filters.Add "Fichier Excel", "*.xlsx;*.xls;*.xlsm"
' Affichage de la boîte de dialogue
If oFDlg.Show Then
' Ouverture de la feuille de route (Lancement de la macro intégrée désactivée)
Application.EnableEvents = False
sFichier = oFDlg.SelectedItems(1)
Set Workbook2 = Workbooks.Open(Filename:=sFichier)
' Suppression de la protection de la feuille de route
Workbook2.Worksheets("Feuille de route").Unprotect "XXX"
' Copie de la feuille de route du classeur 2 vers le classeur 1
Workbook2.Sheets("Feuille de route").Select
Workbook2.Sheets("Feuille de route").Copy after:=Workbook1.Sheets(1)
' Fermeture forcée du classeur 2 (pas d'enregistrement)
Application.DisplayAlerts = False
Workbook2.Close
' Libération variable objet
Set oFDlg = Nothing
End If
End Sub
Pour information, le programme bloque à la ligne 37 et j'utilise office 2010.
Merci pour votre aide...
A voir également:
Copie d'une feuille d'un classeur vers un autre classeur
dammex
Messages postés31Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention14 février 20171 10 mai 2014 à 18:45
Je viens de trouver la solution.
En faite, j'importais une feuille d'un classeur .xlsm vers mon classeur de type .xls... et l'erreur venait du nombre de lignes qui n'est pas la même dans chacun de mes classeurs.
J'ai enregistré mes deux documents en .xlsm (car utilisation de macros dans les deux fichiers) et çà fonctionne parfaitement.