Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Une variable objet non valide est référencée. Cette erreur peut se produire pour plusieurs raisons :
Une variable a été déclarée sans spécifier de type. Si une variable est déclarée sans spécifier de type, elle est par défaut de type
Object.Par exemple, une variable déclarée avec
Dim xserait de typeObject;une variable déclarée avecDim x As Stringserait de typeString.Conseil / Astuce
L’instruction
Option Strictinterdit la saisie implicite qui entraîne unObjecttype. Si vous omettez le type, une erreur au moment de la compilation se produit. Voir l’instruction Option Strict.Vous tentez de référencer un objet défini sur
Nothing.Vous tentez d’accéder à un élément d’une variable de tableau qui n’a pas été correctement déclarée.
Par exemple, un tableau déclaré comme
products() As Stringdéclenchera l’erreur si vous essayez de référencer un élément du tableauproducts(3) = "Widget". Le tableau n’a aucun élément et est traité comme un objet.Vous tentez d’accéder au code dans un
With...End Withbloc avant l’initialisation du bloc. UnWith...End Withbloc doit être initialisé en exécutant le point d’entrée d’instructionWith.
Remarque
Dans les versions antérieures de Visual Basic ou VBA, cette erreur a également été déclenchée en affectant une valeur à une variable sans utiliser le Set mot clé (x = "name" au lieu de Set x = "name"). Le Set mot clé n’est plus valide dans Visual Basic .Net.
Pour corriger cette erreur
Définissez-le
Option StrictenOnajoutant le code suivant au début du fichier :Option Strict OnLorsque vous exécutez le projet, une erreur du compilateur apparaît dans la liste d’erreurs pour toute variable spécifiée sans type.
Si vous ne souhaitez pas activer
Option Strict, recherchez votre code pour rechercher les variables spécifiées sans type (Dim xau lieu deDim x As String) et ajoutez le type prévu à la déclaration.Vérifiez que vous ne faites pas référence à une variable d’objet définie
Nothingsur . Recherchez votre code pour le mot cléNothinget révisez votre code afin que l’objet ne soit définiNothingsur qu’une fois que vous l’avez référencé.Assurez-vous que toutes les variables de tableau sont dimensionnés avant de les accéder. Vous pouvez affecter une dimension lorsque vous créez d’abord le tableau (
Dim x(5) As Stringau lieu de ), ou utilisez leReDimmot clé pour définir les dimensions du tableau avant deDim x() As Stringl’accéder pour la première fois.Vérifiez que votre
Withbloc est initialisé en exécutant le point d’entrée d’instructionWith.