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

XL 2013 macro copie dans un autre classeur

ciocciu

XLDnaute Nouveau
bonjour
je cherche à faire une macro qui ouvre un autre classeur pour y copier un range du classeur source
j'ai mis cela dans thisWorkBook à l'évènement before close afin qu'au moment de la fermeture il enregistre dans le fichier destination le range choisi
voici ce que j'ai fait

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.EnableEvents = False

'chemin ou se trouve le fichier B
chemin = "C:\"
'nom du fichier B
fichier = "nom.xlsm"
If Dir(chemin & fichier) = "" Then Exit Sub
'définir le classeur source
Set classeurSource = ActiveWorkbook

'définir le classeur destination
Set classeurdestination = Application.Workbooks.Open(chemin & fichier, , True)

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

'fermer le classeur destination sans message
Application.DisplayAlerts = False
classeurdestination.Save
classeurdestination.Close
Application.DisplayAlerts = True

End Sub


si j'ouvre nom.xlsm le range n'a pas été copié....
et déroulant pas à pas

il se passe un truc étrange
le classeur destination nom.xslm s'ouvre bien , mais il est bizarre j'ai pas de barre Fichier, insertion etcetc , juste le tableau
la page corr est bien modifée (ajout du nouveau range ) je la vois elle est ok
mais il ne se sauve pas et du coup
quand je l'ouvre la page corr n'est pas modifiée
merci encore pour votre aide ô combien précieuse
 

ciocciu

XLDnaute Nouveau
ok je me réponds à moi même puisque j'ai trouvé la solution
en fait le classeur était ouvert en mode read only
Set classeurdestination = Application.Workbooks.Open(chemin & fichier, , True)

donc à ouvrir en mode modif
Set classeurdestination = Application.Workbooks.Open(chemin & fichier, , false)
 

Discussions similaires

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