Xtian_Québec
XLDnaute Occasionnel
Bonjour le forum,
J'utilise un code pour fermer automatiquement mon classeur s'il n'y a aucune activité après 15 minutes. Le code valide également si PERSONAL.XLBS est ouvert et il ferme le classeur ou quitte l'application EXCEL selon qu'il y ait u non d'autres classeurs qui sont ouverts sur le poste de travail de l'utilisateur.
Le code de validation pour évaluer le temps d'inactivité s'exécute correctement et après 15 minutes d'inactivité, le code suivant est lancé:
Sub FermerClasseurChrono()
Dim wb As Workbook
Dim intWbCount As Integer
intWbCount = 0
'FERMER LE CLASSEUR
For Each wb In Workbooks
If wb.Name <> "PERSONAL.XLSB" Then
'NOMBRE DE CLASSEURS OUVERTS
intWbCount = intWbCount + 1
Else
'FERMER LE CLASSEUR PERSONAL
Application.DisplayAlerts = False
ThisWorkbook.Saved = True
Workbooks("PERSONAL.XLSB").Close SaveChanges:=False
End If
Next wb
If intWbCount > 1 Then
'AUTRES CLASSEURS EXCEL OUVERTS - FERMER SEULEMENT LE CLASSEUR
Application.DisplayAlerts = False
ThisWorkbook.Saved = True
ThisWorkbook.Close SaveChanges:=False
Else
'SEULEMENT CLASSEUR ACTIF OUVERT - QUITTER EXCEL
Application.DisplayAlerts = False
ThisWorkbook.Saved = True
Application.Quit
End If
End Sub
Mon problème: Même s'il y a ThisWorkbook.saved = true à chaque fois que le classeur PERSONAL ou que le classeur actif est fermé et que j'ai également SaveChanges:=False et que j'utilise en plus la fonction Application.DisplayAlerts = False, l'invite de commande demandant si le classeur doit être enregistré s'affiche toujours et selon le code et selon ce que je comprends, il ne devrait pas s'afficher et le classeur devrait se fermer ou EXCEL devrait être fermé sans message (selon le nombre de classeurs actifs)
Quelqu'un peut m'expliquer ce qui doit être changé dans mon code pour ne pas afficher l'invite de commande?
Merci à l'avance pour votre aide.
Xtian_Quebec
J'utilise un code pour fermer automatiquement mon classeur s'il n'y a aucune activité après 15 minutes. Le code valide également si PERSONAL.XLBS est ouvert et il ferme le classeur ou quitte l'application EXCEL selon qu'il y ait u non d'autres classeurs qui sont ouverts sur le poste de travail de l'utilisateur.
Le code de validation pour évaluer le temps d'inactivité s'exécute correctement et après 15 minutes d'inactivité, le code suivant est lancé:
Sub FermerClasseurChrono()
Dim wb As Workbook
Dim intWbCount As Integer
intWbCount = 0
'FERMER LE CLASSEUR
For Each wb In Workbooks
If wb.Name <> "PERSONAL.XLSB" Then
'NOMBRE DE CLASSEURS OUVERTS
intWbCount = intWbCount + 1
Else
'FERMER LE CLASSEUR PERSONAL
Application.DisplayAlerts = False
ThisWorkbook.Saved = True
Workbooks("PERSONAL.XLSB").Close SaveChanges:=False
End If
Next wb
If intWbCount > 1 Then
'AUTRES CLASSEURS EXCEL OUVERTS - FERMER SEULEMENT LE CLASSEUR
Application.DisplayAlerts = False
ThisWorkbook.Saved = True
ThisWorkbook.Close SaveChanges:=False
Else
'SEULEMENT CLASSEUR ACTIF OUVERT - QUITTER EXCEL
Application.DisplayAlerts = False
ThisWorkbook.Saved = True
Application.Quit
End If
End Sub
Mon problème: Même s'il y a ThisWorkbook.saved = true à chaque fois que le classeur PERSONAL ou que le classeur actif est fermé et que j'ai également SaveChanges:=False et que j'utilise en plus la fonction Application.DisplayAlerts = False, l'invite de commande demandant si le classeur doit être enregistré s'affiche toujours et selon le code et selon ce que je comprends, il ne devrait pas s'afficher et le classeur devrait se fermer ou EXCEL devrait être fermé sans message (selon le nombre de classeurs actifs)
Quelqu'un peut m'expliquer ce qui doit être changé dans mon code pour ne pas afficher l'invite de commande?
Merci à l'avance pour votre aide.
Xtian_Quebec