Comment corriger l’erreur VBA 13 ?
Une incompatibilité de type (erreur 13) se produit lorsque vous essayez de spécifier une valeur à une variable qui ne correspond pas à son type de données. Dans VBA, lorsque vous déclarez une variable, vous devez définir son type de données, et lorsque vous spécifiez une valeur différente de ce type de données, vous obtenez l’erreur d’incompatibilité de type 13.
Dans ce didacticiel, nous verrons quelles sont les situations possibles où l’erreur d’exécution 13 peut se produire lors de l’exécution d’un code.
Erreur de non-concordance de type avec la date
Dans VBA, il existe un type de données spécifique pour gérer les dates et cela se produit parfois lorsque vous utilisez une variable pour stocker une date et que la valeur que vous spécifiez est différente.
Dans le code suivant, j’ai déclaré une variable comme date, puis j’ai spécifié la valeur de la cellule A1 où je suis censé n’avoir qu’une date. Mais comme vous pouvez le voir, la date que j’ai dans la cellule 1 n’est pas dans le bon format, VBA n’est pas en mesure de l’identifier comme une date.
Sub myMacro()
Dim iVal As Date
iVal = Range("A1").Value
End Sub
Erreur de non-concordance de type avec le numéro
Vous allez avoir la même erreur en traitant des nombres où vous obtenez une valeur différente lorsque vous essayez de spécifier un nombre à une variable.
Dans l’exemple suivant, vous avez une erreur dans la cellule A1 qui est supposée être une valeur numérique. Ainsi, lorsque vous exécutez le code, VBA vous affiche l’erreur d’exécution 13 car il ne peut pas identifier la valeur en tant que nombre.
Sub myMacro()
Dim iNum As Long
iNum = Range("A6").Value
End Sub
Erreur d’exécution 6 Débordement
Dans VBA, il existe plusieurs types de données pour traiter les nombres et chacun de ces types de données a une plage de nombres que vous pouvez lui attribuer. Mais il y a un problème lorsque vous spécifiez un nombre qui est hors de la plage du type de données.
Dans ce cas, nous vous montrerons le débordement de l’erreur d’exécution 6 qui indique que vous devez modifier le type de données et que le nombre que vous avez spécifié est hors plage.
Autres situations où cela peut se produire
Il peut y avoir d’autres situations dans lesquelles vous pourriez être confronté à l’erreur d’exécution 14 : Type Mismatch.
- Lorsque vous affectez une plage à un tableau mais que cette plage ne se compose que d’une seule cellule.
- Lorsque vous définissez une variable en tant qu’objet, mais en écrivant le code, vous spécifiez un objet différent de cette variable.
- Lorsque vous spécifiez une variable en tant que feuille de calcul mais utilisez la collection de feuilles dans le code ou vice versa.
Comment réparer l’incompatibilité de type (Erreur 13)
La meilleure façon de traiter cette erreur consiste à utiliser pour accéder à l’instruction pour exécuter une ligne de code spécifique ou afficher une boîte de message à l’utilisateur lorsque l’erreur se produit. Mais vous pouvez également vérifier le terrain étape par étape avant de l’exécuter. Pour cela, vous devez utiliser l’outil de débogage de VBA, ou vous pouvez également utiliser la touche de raccourci F8.