Tester si un objet Range est définit
Bonjour, désolé pour le titre qui sera peut être pas trop explicite par rapport à ma demande mais j'ai du mal à résumer ça en quelques mots :(.
Voilà tout : J'ai un module simple dans lequel je déclare
Code:
Private Plage As Range
Ensuite une procédure qui définit cette plage
Code:
1 2 3 4 5 6 7 8 9
| Private Sub Init()
Dim MySheet As Worksheet
Set MySheet = Sheets("Liste")
Set Plage = MySheet.Range("A1").CurrentRegion
Set Plage = Plage.Offset(1, 0).Resize(Plage.Rows.Count - 1)
'et ensuite je trie...
Plage.Sort Key1:= 'etc. etc.
'(...)
End Sub |
Pour ne pas toujours passer par cette sub Init, par exemple dans ma procédure pour rechercher :
Code:
1 2 3 4 5 6
| Public Sub Rechercher(ByRef Nom As String, ByRef Pre As String)
Call Init
Dim R As Range
Set R = Plage.Find(Nom)
'(... ...)
End Sub |
J'ai pensé à poser une condition dans le style :
Code:
If Plage Is Nothing Then Init
Ce qui m'aurait permis de pas systématiquement appeler la procédure notamment dans le cas de plusieurs recherches successives 8-)
Oui mais voilà, cette ligne me provoque une erreur :(
Je pense que quelque chose de basique m'échappe mais je comprends pas :oops:
Merci pour votre aide