Bonsoir le forum,
j'ai plusieurs sub dans lesquelles j'instancie le même objet (une plage de valeurs).
Je voudrais savoir s'il existe un moyen de l'instancier une seule fois et qu'il puisse être utilisé dans plusieurs sub, sans avoir à l'instancier à chaque fois (un peu comme le fait de déclarer une variable en tête de procédure dans un module).
Pour l'instant, le seul moyen que j'ai trouvé est d'instancier l'objet dans une sub, puis d'y faire appel dans mes autres sub mais je pense qu'il y a mieux à faire :
Je me pose également la même question pour un objet utilisé dans des modules différents : pour la déclaration de la variable, l'utilisation de "Public" résout la question mais comment faire pour l'instanciation des objets déclarés ?
Là encore, l'appel d'une sub d'instanciation des objets fonctionne mais n'y a-t-il pas mieux à faire (cf. fichier modules 1 et 2) ?
Merci
j'ai plusieurs sub dans lesquelles j'instancie le même objet (une plage de valeurs).
Je voudrais savoir s'il existe un moyen de l'instancier une seule fois et qu'il puisse être utilisé dans plusieurs sub, sans avoir à l'instancier à chaque fois (un peu comme le fait de déclarer une variable en tête de procédure dans un module).
Pour l'instant, le seul moyen que j'ai trouvé est d'instancier l'objet dans une sub, puis d'y faire appel dans mes autres sub mais je pense qu'il y a mieux à faire :
Code:
Option Explicit
Dim Plg As Range
Sub test1()
Set Plg = Worksheets(1).[A1].CurrentRegion
End Sub
Sub test2() 'fonctionne
Call test1
MsgBox Plg.Address
Set Plg = Nothing
End Sub
Sub test3() 'ne fonctionne pas
MsgBox Plg.Address
Set Plg = Nothing
End Sub
Là encore, l'appel d'une sub d'instanciation des objets fonctionne mais n'y a-t-il pas mieux à faire (cf. fichier modules 1 et 2) ?
Merci