Bonjour à tous,
J’ai une macro qui fonctionne parfaitement, qui me permet depuis mon fichier 1, de copier une plage de donnée de mon onglet « attribution », ouvrir mon fichier2 , y copier la plage dans SON onglet « attribution », enregistrer le fichier 2 puis le fermer.
Je souhaiterais que lors de la fermeture du fichier1 une msgbox s’affiche pour me demander si je veux exporter mes données vers fichier 2 et que oui=exportation auto puis fermeture fichier 1 ; non= fermeture fichier1
J’ai beau recopier texto la macro ça ne fonctionne pas, et j’ai également essayé que la macro se fasse automatiquement sans la msgbox à la fermeture c’est pareil. Avez vous des avis svp?
Ma macro:
Sub majbondecommande()
Sheets("ATTRIBUTION").Select
Range("A2:DZ147").Select
Selection.Copy
Workbooks.Open Filename:= _
"Chemin d’accès\fichier2.xlsm" _
, UpdateLinks:=3
Sheets("ATTRIBUTION").Select
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close
ActiveWorkbook.Save
End Sub
Mon code pour la msgbox a la fermeture(qui est dans thisworkbook)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If MsgBox("Mettre a jour les donees?", vbYesNo, "Demande de confirmation") = vbYes Then
Sheets("ATTRIBUTION").Select
Range("A2:DZ147").Select
Selection.Copy
Workbooks.Open Filename:= _
"Chemin d’accès\fichier2.xlsm" _
, UpdateLinks:=3
Sheets("ATTRIBUTION").Select
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close
ActiveWorkbook.Save
End Sub
Voilà gros mystère, je sais pas pourquoi le fait de le passer en before close l’empêche de fonctionner.
On m’indique comme erreur:
Erreur d’exécution 1004: la méthode select de la classe worksheet à échoué ...