Bonjour,

J'ai un petit souci au niveau de la gestion des exceptions :

voici le code que j'ai

J'ai dans un module Import, une méthode importExcel (strFichier) où
j'ouvre le fichier, modifie, save, quitte et je transfert dans une table SasClient


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
41
42
43
44
45
46
47
48
49
50
51
52
 
 
Public Sub ImportExcel (strfichier as string) 
on errer goto fini 
 
    'Déclaration des variables
         Dim appExcel As Excel.Application 'Application Excel
           Dim wbExcel As Excel.Workbook 'Classeur Excel
        Dim wsExcel As Excel.Worksheet 'Feuille Excel
 
        Set appExcel = CreateObject("Excel.Application")
        appExcel.Visible = False
 
        Set wbExcel = appExcel.Workbooks.Open(strFichier)
 
        Set wsExcel = wbExcel.Sheets("Résultats")
 
        i = 1
        Do While i <= 75
            appExcel.Cells(5, i) = "Champ" & i
             i = i + 1
        Loop
       wbExcel.Save 
        wbExcel.Close  'Fermeture du classeur Excel
        appExcel.Quit 
 
'transfert 
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "SasClient", strFichier, True, "A5:BW"
 
exit sub
fini :  
     wbExcel.Close  'Fermeture du classeur Excel
    appExcel.Quit 'Fermeture de l'application Excel
 
    'Désallocation mémoire
    Set wsExcel = Nothing
    Set wbExcel = Nothing
    Set appExcel = Nothing
 
    Select Case Err
 
        Case 2220
 
                MsgBox "L'importation du fichier ne s'est pas effectué normalement.", _
                    vbCritical, "Erreur fichier  "
 
        Case Else
 
          msgbox & Err.Number & Chr(13) & Err.Description
 
    End Select
end sub

Et j'ai dans un formulaire un bouton import

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
 
 
Private Sub btnImporter_Click()
On Error GoTo fini2
   '... traitement de récupération d'un fichier excel 
 
    importexcel (strFichier)
 
' met en forme la table sasclient 
    netteyage 
 
 
exit sub
fini2 : 
 msgbox & Err.Number & Chr(13) & Err.Description
 
end sub
Ok jusqu'ici tout va bien

en fait ces deux méthodes fonctionnent à merveille quand on récupère le bon fichier excel

Le cas contraire c'est à dire si je récupère pas le bon fichier

la méthode importExcel affiche une exception qui est catché et renvoie un message d'erreur.

Mon problème c'est que après mon message d'erreur, le programme continue de tourner, il passe à la méthode nettoyage

Moi, je veut qu'il s'arrête à importexcel comment faire ??