Bonjour,

Je viens de finir un nouveau programme, que j'ai fait de manière empirique avec beaucoup de variable qui était déclarée plusieurs fois. Pour mettre de l'ordre dans tous ça, j'ai voulu regrouper toutes les variables dans un seul module.
Dans ces variables, il y a des objets (Workbook et Worksheet). J’aimerai que la référence que je leur attribue soit utilisable par tous les modules de mon projet, sans avoir à remettre le "SET" dans toutes les "SUB". Est-e que c'est possible?

Voici ma déclaration de variable:

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
58
Option Explicit
 
'Nomenclature
 
Public WbNomenclature As Workbook
Public WsNomenclature As Worksheet
Public LigneN As Integer
Public ColonneN As Integer
Public Serie As Range
Public NumSerie As String
Public DateSerie As Date
Public HeureSerie As String
Public LieuSerie As String
Public DistributionSerie As String
Public ProgrammeSerie As String
Public CaptationSerie As String
Public ChefSerie As String
Public LFSerie As String
Public AARTSerie As String
Public ODGSerie As String
Public SuppSerie As String
Public MRFnb As Integer
Public LFnb As Integer
Public AARTnb As Integer
Public ODGnb As Integer
 
Public WsNomenclatureTDB As Worksheet
Public LigneNTDB As Integer
Public ColonneNTDB As Integer
Public C As Integer
 
'TDB
 
Public WbTDB As Workbook
Public WsTDB As Worksheet
Public LigneTDB As Integer
Public ColonneTDB As Integer
 
'Series
Public WbSerie As Workbook
Public WsSerie As Worksheet
Public LigneSerie As Integer
Public ColonneSerie As Integer
Public L As Integer
 
 
'Valeurs constantes
 
Sub Constante()
 
Set WbNomenclature = Application.Workbooks("1718_Nomenclature.xlsm")
Set WsNomenclature = WbNomenclature.Worksheets("NomenclatureGNALE")
Set WsNomenclatureTDB = WbNomenclature.Worksheets("NomenclatureTDB")
Set WsTDB = WbTDB.Worksheets("TableauDeBord")
Set WbTDB = Application.Workbooks("1718_TDB.xlsm")
Set WbSerie = Application.Workbooks("1718_MA_Serie.xlsm")
 
End Sub