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à dans "2012 TEST", 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 :
Seulement si je le lance sous Excel 2011 sur Mac et effectue ensuite une sauvegarde, manuellement ou dans la macro, Excel plante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 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.Sheets("Feuil1") 'Workbooks(ThisWorkbook.Name). BilanN_1.Close (False) End Sub
Alors que si je le lance sous Excel 2007 ou +, tout se passe correctement, même la sauvegarde après coup.
Alors que si je commente dans la macro les 2 lignes suivantes qui effectue le delete, je n'ai plus de problème, la sauvegarde qui suit ne fait plus rien planter.
(Ne peut-on pas attacher des fichiers xlsm ??)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ' Set AmortissementsN = BilanN.Sheets("Amortissements") ' AmortissementsN.Delete
Merci pour tout aide que vous pourriez m'apporter parce que là je bloque vraiment !
Partager