Bonjour à tou(te)s

J'ai un problème de propagation d'erreurs.

J'ai un formulaire d'importation de données: Form_Import
qui importe les données grâce à une méthode de ma classe business: CTraitementImport

La méthode de form_import appelle CTraitementImport.Import() comme ceci:
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
 
Private Sub buttonImport_Click()
    Dim traitementImport As New CTraitementImport
    Dim defaultCursor As Integer
    defaultCursor = Screen.MousePointer
    Dim logger As New CLogger
    logger.SetLogger m_logger
 
On Error GoTo Err_m_buttonImport_Click
 
        Dim msgBoxStyle As Integer
        msgBoxStyle = vbInformation Or vbYesNo Or vbDefaultButton2
        If (Validate()) Then
            If (vbYes = MsgBox("Etes vous sûr de vouloir importer les données issues de: " & vbCrLf & m_textBoxPath.value & vbCrLf & "le " & m_textBoxDate, msgBoxStyle, "Confirmation d'importation")) Then
                Screen.MousePointer = 11
                m_buttonImport.Enabled = False
 
                traitementImport.Instanciate m_textBoxPath.value, m_textBoxName.value, m_textBoxDate.value, m_checkBoxReleased.value
                traitementImport.Import logger
 
                Screen.MousePointer = defaultCursor
                MsgBox "L'import s'est terminé avec succes", vbOKOnly Or vbInformation, "Import Terminé"
            End If
        End If
 
 
Default:
    m_buttonImport.Enabled = True
    Exit Sub
 
Err_m_buttonImport_Click:
    Screen.MousePointer = defaultCursor
    MsgBox "Une erreur est survenue lors de l'importation: " & vbCrLf & Err.Number & ": " & Err.Description, vbCritical, "Importation des données"
    Resume Default
End Sub

CTraitementImport.Import pourrait ressembler à ceci:

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
Public Sub Import(logger As CLogger)
On Error GoTo Error
    logger.Clear
    Dim wrkDefault As Workspace
    Set wrkDefault = DBEngine.Workspaces(0)
    wrkDefault.BeginTrans
 
    'plus toute une série d'instructions plus merveilleuses les unes que les autres
 
    logger.Append "L'import s'est terminé avec succes"
Default:
    wrkDefault.Close
    Exit Sub
 
Error:
    wrkDefault.Rollback
    Err.Raise Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext
    Resume Default
End Sub

Comme vous pouvez le constater, je souhaite propager les erreurs générées dans ma méthode Import au module de classe appelant (Form_import) a l'instar d'un throw en C#


Mais il s'avère que ça ne fonctionne pas. Access récupère l'erreur lui même et affiche sa messageBox permettant de débugger ou mettre fin à l'exécution (la même que si on fait un On Error GoTo 0 ou rien, finalement).

Qu'ai je fait de mal ou pas fait de bien?