Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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,
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.
 

Jacky67

XLDnaute Barbatruc
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.
Re...
C'est ce que fait...
ActiveWorkbook.Close True
Dans le code proposé.
Mais bon, cela fonctionne, alors tout est bien
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…