Bonjour,
Je cherche à copier une feuille "Amortissements" dans mon classeur "2012 TEST" depuis mon classeur "2011 TEST".
Si une feuille du même nom existe déjà, je la supprime avant d'effectuer la copie. La suppression est effectuée avec la méthode "delete" de l'objet sheets.
Le code est assez simple et fonctionne :
Sub Test()
Dim BilanN_1 As Workbook, BilanN As Workbook
Dim AmortissementsN_1 As Worksheet, AmortissementsN As Worksheet
Set BilanN = ThisWorkbook
Application.DisplayAlerts = False
Set BilanN_1 = Workbooks.Open("2011 TEST.xlsm", , True)
'on supprime l'onglet Amortissements
Set AmortissementsN = BilanN.Sheets("Amortissements")
AmortissementsN.Delete
Application.DisplayAlerts = True
'on récupère les amortissements N-1
Set AmortissementsN_1 = BilanN_1.Sheets("Amortissements")
AmortissementsN_1.Copy after:=BilanN.Worksheets("Feuil1")
BilanN_1.Close (False)
End Sub
Seulement si je le lance sous Excel 2011 sur Mac et effectue ensuite une sauvegarde, manuellement ou dans la macro, Excel plante.
Alors que si je le lance sous Excel 2007 ou +, tout se passe correctement, même la sauvegarde après coup.
Ci-joint le fichier "2012 TEST" avec la macro simplifiée au maximum et son pendant pour le test '"2011 TEST".
Merci pour tout aide que vous pourriez m'apporter parce que là je bloque vraiment !