Bonjour,
J'essaie de mettre en place une gestionnaire d'erreurs provenant de l'application externe.
Qui va générer une erreur en cas si le numéro Err.Number corresponds au numéro souhaité. Je lance le macro Test(), qui lance Calculations(), qui génére une erreur 11 "division par zero''. Je veux, que le GestionaireErreurs de Sub Calculations généré l'erreur 515, mais Sub Test reçoit erreur 438 "Propriété ou méthode non gérée par cet objet". Pourquoi? Est-ce que il y en a d'autres méthodes pour passer une erreur d'un Sub à l'autre?
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 Private Sub Test() On Error GoTo GestionnaireErreurs Calculations GestionnaireErreurs: Debug.Print Err.Number & Err.Description Select Case Err.Number Case 515 Err.Raise 513, , "My custom error." Case Else Err.Raise 514, , "My second custom error." End Select End Sub Public Sub Calculations() Dim intA As Integer On Error GoTo GestionnaireErreurs intA = 0 Debug.Print 5 / intA GestionnaireErreurs: If Err.Number = 11 Then Err.Rise 515, , "My third error." End If End Sub
Partager