Sub testvarobject()
Dim x As Workbook
Dim xEstNothing As String
Debug.Print "Travail avec X non initialisé"
xEstNothing = IIf(x Is Nothing, "Vrai", "Faux")
Debug.Print " testvarobject:Début:x Is Nothing: " & xEstNothing
Debug.Print " testvarobject:err.Number avant x.Name: " & Err.Number
On Error Resume Next
Debug.Print " testvarobject:x.Name: " & x.Name
Debug.Print " testvarobject:err.Number après x.Name: " & Err.Number
Debug.Print " testvarobject:err.Description: " & Err.Description
On Error GoTo 0
Set x = Workbooks.Add
Debug.Print
Debug.Print "Travail avec X créé (initialisé)"
xEstNothing = IIf(x Is Nothing, "Vrai", "Faux")
Debug.Print " testvarobject:AprèsCréation:x Is Nothing: " & xEstNothing
Debug.Print " testvarobject:err.Number avant x.Name: " & Err.Number
Debug.Print " testvarobject:x.Name: " & x.Name
Debug.Print " testvarobject:err.Number après x.Name: " & Err.Number
x.Close
Debug.Print
Debug.Print "Travail avec X (initialisé) après fermeture"
xEstNothing = IIf(x Is Nothing, "Vrai", "Faux")
Debug.Print " testvarobject:AprèsFermeture:x Is Nothing: " & xEstNothing
Debug.Print " testvarobject:err.Number avant x.Name: " & Err.Number
On Error Resume Next
Debug.Print " testvarobject:x.Name: " & x.Name
Debug.Print " testvarobject:err.Number après x.Name: " & Err.Number
Debug.Print " testvarobject:err.Description: " & Err.Description
On Error GoTo 0
Set x = Nothing
Debug.Print
xEstNothing = IIf(x Is Nothing, "Vrai", "Faux")
Debug.Print "testvarobject:Avant End Sub:x Is Nothing: " & xEstNothing
End Sub