Est-il possible d'inscrire une procédure SET en dehors d'une procédure SUB ?
Je m'explique : j'ai une variable que je souhaite reprendre dans tous mes modules. Cette variable représente une plage de cellules. J'ai inscrit Public devant la variable.
Enfin j'ai voulu attribuer une plage à cette dite variable en inscrivant Set :
Code:
'Feuille REF:
'Table Lieux de la feuille REF
Public Lieux As Range
Set Lieux = Sheets(5).Range("A1:H141")
Sub
End Sub
Seulement, quand je lance ma macro, on m'indique "Instruction incorrecte à l'extérieure d'une procédure".
Comment puis-je faire ?
Cela veut-il dire qu'il faudra que je redéfinisse à chaque fois ma plage alors que la variable reste la même ?
Bonjour.
Non, ça signifie qu'une instruction exécutable n'est valide qu'à l'intérieur d'une procédure, qui peut s'exécuter.
Peut être que ce qui irait bien, c'est un nom dans le classeur se référant à cette plage. Il suffirait de le spécifier entre [] dans le code.
'======= Module standard 1
Private m_Lieux As Range
Public Property Set Lieux(argRange As Range)
Set m_Lieux = argRange
End Property
Public Property Get Lieux() As Range
Set Lieux = m_Lieux
End Property
Code:
'======= Module standard 2
Public Sub MaPlage()
Dim x As Range
Set x = ActiveSheet.Range("A1:A1")
Set Lieux() = x
Set x = Lieux()
Debug.Print x.Value
End Sub