Bonjour,
suite à un 1er problème de "plantage" excel à la fermeture quand ouvert en lecture seule en même temps qu'un autre fichier, j'ai modifié mon code comme ci-dessous :
A_L_OUVERTURE
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 Private Sub Workbook_Open() Application.Run "A_L_OUVERTURE" End Sub Public AppExcel As Excel.Application 'Application Excel Public wbExcel As Excel.Workbook 'Classeur Excel Public wsExcel As Excel.Worksheet 'Feuille Excel Private Sub A_L_OUVERTURE() Set AppExcel = CreateObject("Excel.Application") AppExcel.Workbooks.Add Set wbExcel = AppExcel.ActiveWorkbook Set wsExcel = wbExcel.ActiveSheet ... End Sub
A_LA_FERMETURE
Le "plantage" semble résolu seulement lorsque ce classeur est ouvert en lecture seule et qu'on le ferme, je souhaite que ce fichier se ferme sans enregistrer et sans demander à l'utilisateur ce qu'il souhaite.
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 Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.Run "A_LA_FERMETURE" End Sub Private Sub A_LA_FERMETURE() If ActiveWorkbook.ReadOnly = True Then ActiveWorkbook.Application.DisplayAlerts = False wbExcel.Application.DisplayAlerts = False AppExcel.Application.DisplayAlerts = False wsExcel.Application.DisplayAlerts = False wbExcel.Close SaveChanges:=False 'Fermeture du classeur Excel AppExcel.Quit 'Fermeture de l'application Excel 'Désallocation mémoire Set wsExcel = Nothing Set wbExcel = Nothing Set AppExcel = Nothing Else ..... End Sub
Mais ce code m'affiche la fenêtre : voulez vous enregistrer les modifications.
Autodidacte et nouveau sur un forum, avec mes excuses si message non conforme, je suis bloqué.
Également si vous avez une autre solution pour contourner le 1er problème, je suis preneur.
Merci d'avance pour votre aide.
Partager