Bonjour à tous,
J'espère que vous allez bien.
Le contexte :
J'ai créé un fichier Excel avec une page d'identification qui, si les identifiants et le mot de passe sont bons, affiche els onglets du fichiers.
Une fois que les identifiants et le mot de passe sont entrés, l'utilisateur clique sur le bouton "Connexion".
Il existe donc également un bouton "Déconnexion" codé ainsi :
Private Sub CommandButton2_Click()
Sheets("1").Visible = True
Sheets("2").Visible = 2
Sheets("3").Visible = 2
Sheets("4").Visible = 2
Sheets("5").Visible = 2
Sheets("6").Visible = 2
Sheets("7").Visible = 2
Sheets("8").Visible = 2
Sheets("9").Visible = 2
Sheets("10").Visible = 2
Sheets("11").Visible = 2
Sheets("12").Visible = 2
Sheets("13").Visible = 2
End Sub
Ma problématique est la suivante :
Je souhaiterais que ce code s'applique non seulement lorsque l'utilisateur clique sur le bouton "Déconnexion" mais surtout si l'utilisateur FERME le fichier sans s'être déconnecté.
Connaitriez-vous une instruction, sûrement avec if, qui me permettrait de faire ça ?
J'ai trouvé celle-ci mais elle permet seulement de dire si le workbook est ouvert :
Function IsWorkBookOpen(Name As String) As Boolean
Dim xWb As Workbook
On Error Resume Next
Set xWb = Application.Workbooks.Item(Name)
IsWorkBookOpen = (Not xWb Is Nothing)
End Function
Sub Sample()
Dim xRet As Boolean
xRet = IsWorkBookOpen("combine.xlsx")
If xRet Then
MsgBox "The file is open", vbInformation, "Kutools for Excel"
Else
MsgBox "The file is not open", vbInformation, "Kutools for Excel"
End If
End Sub
Merci d'avance et bonne soirée.
Bien cordialement,