Microsoft 365 Exporter données vers un autre classeur fermé

PORCHER

XLDnaute Occasionnel
Bonjour,
Pourriez m'aider pour résoudre ce problème;
Je copie bien les données du classeurSource vers le classeurDestination sauf que si je place en fin de macro
classeurDestination.Save et classeurDestination.Close il ouvre le classeur et le referme aussitôt sans sauvegarder ?
Si je retire cette formule il ouvre le classeur, colle mes données sans sauvegarde et ne quitte pas le classeur ?

VB:
Dim classeurSource As Workbook, classeurDestination As Workbook

'définir le classeur source
Set classeurSource = ActiveWorkbook

'définir le classeur destination
Set classeurDestination = Application.Workbooks.Open("C:\Users\jypor\Downloads\Appli\Data.xlsm", , True)

'copier les données de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
classeurSource.Sheets("Feuil1").Range("A2:F9999").Copy Destination:=classeurDestination.Sheets("Feuil1").Range("A2")

'quitter le mode de copie (
Application.CutCopyMode = False
classeurDestination.Save
classeurDestination.Close
End Sub
Merci
 

Jacky67

XLDnaute Barbatruc
Bonjour,
Pourriez m'aider pour résoudre ce problème;
Je copie bien les données du classeurSource vers le classeurDestination sauf que si je place en fin de macro
classeurDestination.Save et classeurDestination.Close il ouvre le classeur et le referme aussitôt sans sauvegarder ?
Si je retire cette formule il ouvre le classeur, colle mes données sans sauvegarde et ne quitte pas le classeur ?

VB:
Dim classeurSource As Workbook, classeurDestination As Workbook

'définir le classeur source
Set classeurSource = ActiveWorkbook

'définir le classeur destination
Set classeurDestination = Application.Workbooks.Open("C:\Users\jypor\Downloads\Appli\Data.xlsm", , True)

'copier les données de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
classeurSource.Sheets("Feuil1").Range("A2:F9999").Copy Destination:=classeurDestination.Sheets("Feuil1").Range("A2")

'quitter le mode de copie (
Application.CutCopyMode = False
classeurDestination.Save
classeurDestination.Close
End Sub
Merci
Bonjour,
Essaye comme le code ci-dessous
Dans l'exemple le classeur "C:\Users\jypor\Downloads\Appli\Data.xlsm" doit exister avec le chemin précisé, ainsi que "feuil1" dans les deux classeurs
VB:
Sub copierJJ()
    Application.EnableEvents = False
    Workbooks.Open "C:\Users\jypor\Downloads\Appli\Data.xlsm"
    ThisWorkbook.Sheets("Feuil1").Range("A2:F9999").Copy Sheets("Feuil1").Range("A2")
    ActiveWorkbook.Close True
    Application.EnableEvents = True
End Sub
 

PORCHER

XLDnaute Occasionnel
Le Bonjour du matin,
Après une nuit de sommeil j'ai trouvé la solution, la voici
Au lieu de
classeurDestination.Save
classeurDestination.Close
il faut faire comme suit:
classeurDestination.Close SaveChanges:=True
et voila et çà marche.
 

Discussions similaires

Statistiques des forums

Discussions
312 087
Messages
2 085 198
Membres
102 815
dernier inscrit
Henridic