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

  • Initiateur de la discussion Initiateur de la discussion PORCHER
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
9
Affichages
580
Réponses
3
Affichages
491
Retour