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