Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA: Peut-on tester si une variable objet est "vide" ?

Guy_M

XLDnaute Occasionnel
Bonjour,

Dans un UserForm, j'ai des variables globales permettant de gérer des classeurs (Workbook) et des feuilles (WorkSheet).

Le UserForm n'étant pas modal, l'utilisateur peut librement supprimer des feuilles et fermer des classeurs. S'ils sont associés à une de mes variables, cette variable est "vide" car associée à un objet qui n'existe plus ; elle devient inutilisable : un test avec "Is Nothing" retourne faux mais si j'appelle un de ses membres ou une de ces méthodes, j'ai une erreur d'exécution.

Existe-t-il un test simple pour déterminer si une variable objet est "vide", c'est dire qu'elle a été associé à un objet et l'objet associé n'existe plus en mémoire ?

NB : on peut gérer ce problème en utilisant les évènements SheetActivate, SheetDeactivate et WorkbookBeforeClose

Par avance, merci pour vos réponses
Guy
 

eriiic

XLDnaute Barbatruc
Re : VBA: Peut-on tester si une variable objet est "vide" ?

Pas besoin de gérer le timer sur Close, l'évènement "App_SheetDeactivate" ne se produit pas à la fermeture du Workbook.
C'est surtout que si tu as un timer de programmé le fichier se rouvre pour l'exécuter.
eric
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…