Partager via


Number, propriété

Renvoie ou définit une valeur numérique indiquant une erreur. Number est la propriété par défaut de l’objet Err . Lecture-écriture.

Remarques

Lorsque vous retournez une erreur définie par l’utilisateur à partir d’un objet, définissez Err.Number en ajoutant le numéro que vous avez sélectionné comme code d’erreur à la constante vbObjectError . Par exemple, le code suivant renvoie le nombre 1051 comme code d’erreur :

Err.Raise Number := vbObjectError + 1051, Source := "SomeClass"

Exemple

Le premier exemple montre une utilisation courante de la propriété Number dans le cadre d’un programme de gestion d’erreur. Le deuxième exemple examine la propriété Number de l’objet Err pour déterminer si une erreur renvoyée par un objet Automation a été définie par l’objet ou si elle a été mise en correspondance avec une erreur définie par Visual Basic.

Notez que la constante vbObjectError est une valeur négative très élevée qu’un objet ajoute à son propre code d’erreur pour indiquer que l’erreur est définie par le serveur. De ce fait, la soustraire de Err.Number la soustrait aussi du résultat.

Si l’erreur est définie par l’objet, le numéro de base est conservé dans MyError, qui s’affiche dans une boîte de message avec la source d’origine de l’erreur. Si Err.Number représente une erreur Visual Basic, le numéro d’erreur Visual Basic s’affiche dans la boîte de message.

' Typical use of Number property
Sub test()
    On Error GoTo out
    
    Dim x, y
    x = 1 / y    ' Create division by zero error
    Exit Sub
    out:
    MsgBox Err.Number
    MsgBox Err.Description
    ' Check for division by zero error
    If Err.Number = 11 Then
        y = y + 1
    End If
    Resume
End Sub
' Using Number property with an error from an 
' Automation object
Dim MyError, Msg
' First, strip off the constant added by the object to indicate one
' of its own errors.
MyError = Err.Number - vbObjectError
' If you subtract the vbObjectError constant, and the number is still 
' in the range 0-65,535, it is an object-defined error code.
If MyError > 0 And MyError < 65535 Then
    Msg = "The object you accessed assigned this number to the error: " _
             & MyError & ". The originator of the error was: " _
            & Err.Source & ". Press F1 to see originator's Help topic."
' Otherwise it is a Visual Basic error number.
Else
    Msg = "This error (# " & Err.Number & ") is a Visual Basic error" & _
            " number. Press Help button or F1 for the Visual Basic Help" _
            & " topic for this error."
End If
    MsgBox Msg, , "Object Error", Err.HelpFile, Err.HelpContext

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.