Bonjour à tous,
Après bien des recherches et ne trouvant pas la réponse à un problème je me résous à éditer ce message.

J'ai reproduit le problème dans ce petit code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
Sub TestErreurs()
 
On Error GoTo GestionErreurs
Dim i As Integer
i = "Toto"
'i = 12
Debug.Print "Ici on a d'autres instructions"
Debug.Print "-------------------------"
Debug.Print "-------------------------"
Debug.Print "-------------------------"
Debug.Print "-------------------------"
 
Suite:
Windows("test.xlsx").Activate
 
MsgBox "Suite de la procédure"
 
On Error GoTo 0
Exit Sub
 
GestionErreurs:
 
    Select Case Err.Number
        Case 13
        'MsgBox "Il s'agit d'une incompatibilité de type"
        i = 3
        GoTo Suite
 
 
        Case 9
        MsgBox "Ce classeur n'est pas ouvert !"
        Resume Next
 
        Case Else
        MsgBox Err.Number & "  " & Err.Description
 
    End Select
 
End Sub
Le but est de créer une première erreur gérée par le "Select Case" Case 13 qui renvoie à l'étiquette Suite :
(une variable de type "Integer" ne peut recevoir une valeur de type "String")
Cette partie de la gestion d'erreurs fonctionne

Puis de créer une seconde erreur en appelant un fichier qui n'existe pas (normalement Case 9 du "Select Case")

Et là, la gestion des erreurs ne fonctionne pas

Si par contre on attribue une valeur cohérente d'entier à "i", l'erreur due au fichier qui n'existe pas est prise en compte.
étonnant non ?

Cordialement
GG