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
Ok jusqu'ici tout va bien
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
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 ??
Partager