Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite 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 qu’un type soit spécifié. Si une variable est déclarée sans qu’un type soit spécifié, elle est de type
Object
par défaut.Par exemple, une variable déclarée avec
Dim x
sera de typeObject;
et une variable déclarée avecDim x As String
sera de typeString
.Conseil
L’instruction
Option Strict
interdit tout typage implicite aboutissant à un typeObject
. Si vous omettez le type, une erreur de compilation se produit. Consultez Option Strict, instruction.Vous tentez de référencer un objet qui a été 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é.
Par exemple, un tableau déclaré comme
products() As String
dé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 bloc
With...End With
avant l’initialisation du bloc. Un blocWith...End With
doit être initialisé par l’exécution du point d’entrée de l’instructionWith
.
Notes
Dans les versions antérieures de Visual Basic ou VBA, l’attribution d’une valeur à une variable sans utilisation du mot clé Set
(x = "name"
au lieu de Set x = "name"
) déclenchait également cette erreur. Le mot clé Set
n’est plus valide dans Visual Basic .Net.
Pour corriger cette erreur
Définissez
Option Strict
surOn
en ajoutant le code suivant au début du fichier :Option Strict On
Quand vous exécutez le projet, une erreur du compilateur s’affiche dans la Liste d’erreurs pour toute variable spécifiée sans type.
Si vous ne souhaitez pas activer
Option Strict
, recherchez dans votre code toutes les variables qui ont été spécifiées sans type (Dim x
au lieu deDim x As String
) et ajoutez le type souhaité à la déclaration.Vérifiez que vous ne faites pas référence à une variable objet qui a été définie sur
Nothing
. Recherchez le mot cléNothing
dans votre code et révisez votre code pour que l’objet ne soit défini surNothing
qu’après l’avoir référencé.Veillez à ce que toutes les variables de tableau soient dimensionnées avant d’y accéder. Vous pouvez attribuer une dimension quand vous créez le tableau (
Dim x(5) As String
au lieu deDim x() As String
) ou utiliser le mot cléReDim
pour définir les dimensions du tableau avant d’y accéder pour la première fois.Vérifiez que votre bloc
With
est initialisé en exécutant le point d’entrée de l’instructionWith
.