Bonjour à tous,
Je souhaiterai copier-coller 4 sheets en direction d'un nouveau classeur, puis par la suite enregistrer en xlsx et fermer ce nouveau classeur. Enfin je souhaiterai continuer à effectuer des opérations sur mon classeur xlsm. (réinitialiser la base de données)
Voici mon code : (j'ai une erreur sur la ligne en rouge: la méthode Copy de la classe Sheets a échoué)
Merci d'avance pour votre aide !
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 'Ouverture d'un nouveau classeur vierge ActiveWindow.DisplayWorkbookTabs = True Dim objWorkbookSource As Workbook, objWorkbookCible As Workbook Set objWorkbookSource = ThisWorkbook Set objWorkbookCible = Workbooks.Add() objWorkbookSource.Sheets(Array("Rapport", "Rapport Semaine", "Densité", "BDD")).Copy objWorkbookSource.Sheets(Array("Rapport", "Rapport Semaine", "Densité", "BDD")).Copy objWorkbookCible With objWorkbookCible Sheets("Rapport").Activate ActiveSheet.Unprotect "protection" Sheets("Rapport Semaine").Activate ActiveSheet.Unprotect "protection" Sheets("BDD").Activate ActiveSheet.Unprotect "protection" End With 'Enregistrement XLSX puis fermeture du document Application.DisplayAlerts = False objWorkbookCible.SaveAs Filename:="" & chemin2 & nom & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False objWorkbookCible.Close 'On retourne sur le formulaire original afin de terminer les opérations : Windows("Gestion.xlsm").Activate Sheets("Carte").Select ActiveWindow.DisplayWorkbookTabs = False 'Appel de la fonction mise à zero des captions du sheet "Rapport semaine" Miseazero_caption 'On supprime le contenu de la BDD Sheets("BDD").Select Sheets("BDD").Unprotect Sheets("MDP").Range("G7").Value Sheets("BDD").Range("A3:ZZ99999").ClearContents Range("A3").Select Sheets("BDD").Select Sheets("BDD").Protect Sheets("MDP").Range("G7").Value 'Modification de la valeur de la variable de changement de mois Sheets("MDP").Unprotect Sheets("MDP").Range("G8").Value Sheets("MDP").Range("G5").Value = Month(Date) Sheets("MDP").Protect Sheets("MDP").Range("G8").Value 'On revient sur la vue "Carte" Sheets("Carte").Activate With ActiveWindow .DisplayHorizontalScrollBar = False .DisplayVerticalScrollBar = False End With MsgBox "Données du mois précédent sauvegardé :" & vbCr & nom & ".pdf" & vbCr & nom & ".xlsx" Application.DisplayAlerts = True Application.ScreenUpdating = True
GK
Partager