Comment contôler qu'une feuille excel est déja ouverte ??

Résolu
cs_minesis Messages postés 4 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 9 février 2005 - 9 févr. 2005 à 11:22
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 - 9 févr. 2005 à 12:06
[mailto:S@lut S@lut] @ tous comment vérifier qu'une feuille excel est déja ouverte, et si ce le cas la fermer, merci beaucoup!!

1 réponse

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
9 févr. 2005 à 12:06
Par feuille Excel, je suppose que tu veux dire fichier Excel.
Tu as 2 solutions :

- Parcourir tous les classeurs ouverts et fermer celui qui a le bon nom :
Dim l_Workbook As Workbook
'Parcourt les classeurs ouverts
For Each l_Workbook In Workbooks
'Teste le nom du classeur
If l_Workbook.Name = "Classeur2.xls" Then
'Ferme le classeur sans enregistrer
l_Workbook.Close False
'Sort de la boucle
Exit For
End If
Next l_Workbook

- Utiliser la gestion d'erreur en essayant de manipuler un classeur qui le nom que tu veux
If lfct_WorkBookExists("Classeur3.xls") Then
Workbooks("Classeur3.xls").Close False
End If
Avec la fonction :
Public Function lfct_WorkBookExists(a_Name As String) As Boolean
On Error GoTo Err_NoWorkbook
lfct_WorkBookExists = (Workbooks(a_Name).Name <> "")
Exit Function
Err_NoWorkbook:
lfct_WorkBookExists = False
End Function
Cette solution nécessite que dans l'onglet Général du menu Outils - Options tu aies sélectionné l'option Arrêt sur les erreurs non gérées
3
Rejoignez-nous