Bonjour,
Pour des raisons de souplesse et de lecture de mon programme j'ai instancie toutes les worksheets que j'utilise dans mon code dans une procedure a part (comme ca si les noms changent, et ils vont changer, une seule procedure a modifier). Les chemins viennent de Application.GetOpenFilename.
Comme vous voyez il y en a plein, ce que je voudrais faire c'est me passer des wb et plus generalement simplifier le programme. Or, une fois les fichiers ouverts (avec ou sans affectation des wb) si je fais
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 Sub subSetFilesAndSheets() ''''open file and set workbooks Set wbModel = Workbooks.Open(ModelPath, 0, True) ChDir WorkingFolder ProgressForm.lblOpenModel.Caption = "Done" ProgressForm.Repaint Set wbLogistic = Workbooks.Open(LogisticPath, 0, True) ProgressForm.lblOpenLogistic.Caption = "Done" ProgressForm.Repaint Set wbQuality = Workbooks.Open(QualityPath, 0, True) ProgressForm.lblOpenQuality.Caption = "Done" ProgressForm.Repaint Set wbPurchasing = Workbooks.Open(PurchasingPath, 0, True) ProgressForm.lblOpenPurchasing.Caption = "Done" ProgressForm.Repaint ''''set model sheets Set wsModelSynthesis = wbModel.Sheets("Synthesis") Set wsModelLogistic = wbModel.Sheets("Logistics") Set wsModelQuality = wbModel.Sheets("Quality") Set wsModelPurchasing = wbModel.Sheets("Purchasing") ''''set program sheets Set wsNoQuality = ThisWorkbook.Sheets("No quality data") Set wsNoPurchasing = ThisWorkbook.Sheets("No purchasing data") Set wsTempPurchasing = ThisWorkbook.Sheets("Temp purchasing data") ''''set sources sheets Set wsSourceLogistic = wbLogistic.Sheets("Analiza") Set wsSourceENCR = wbQuality.Sheets("ENCR per supplier per month") Set wsSourceDPM = wbQuality.Sheets("DPM (e) per supplier") Set wsSourceQA = wbQuality.Sheets("Quality Alert per supplier") Set wsSourcePurchasing = wbPurchasing.Sheets("Sheet1") End Sub
ca ne marche pas parce qu'Excel attend le nom du fichier et pas le chemin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part set ws = workbooks(Chemin).Sheets("Ma sheet")
Des conseils pour simplifier tout ca ?
Partager