Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Bonjour Annette Sub test() On Error Resume Next Workbooks("Mon CLasseur.xls").Activate If Err <> 0 Then MsgBox "Le classeur Mon Classeur.xls n'est pas ouvert" Else: MsgBox "Le classeur Mon CLasseur.xls est ouvert" End If End Sub
Cordialement Pascal
"Annette" a écrit dans le message de news:01c401c3aa8b$e8137070$ Bonjour,
j'ai un souçi tout bête. Comment, en VBA, tester si tel fichier Excel est déjà ouvert ou non ?
Merci beaucoup
Anne
Bonjour Annette
Sub test()
On Error Resume Next
Workbooks("Mon CLasseur.xls").Activate
If Err <> 0 Then
MsgBox "Le classeur Mon Classeur.xls n'est pas ouvert"
Else: MsgBox "Le classeur Mon CLasseur.xls est ouvert"
End If
End Sub
Cordialement
Pascal
"Annette" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:01c401c3aa8b$e8137070$a001280a@phx.gbl...
Bonjour,
j'ai un souçi tout bête.
Comment, en VBA, tester si tel fichier Excel est déjà
ouvert ou non ?
Bonjour Annette Sub test() On Error Resume Next Workbooks("Mon CLasseur.xls").Activate If Err <> 0 Then MsgBox "Le classeur Mon Classeur.xls n'est pas ouvert" Else: MsgBox "Le classeur Mon CLasseur.xls est ouvert" End If End Sub
Cordialement Pascal
"Annette" a écrit dans le message de news:01c401c3aa8b$e8137070$ Bonjour,
j'ai un souçi tout bête. Comment, en VBA, tester si tel fichier Excel est déjà ouvert ou non ?
Merci beaucoup
Anne
Merci beaucoup Pascal !
-----Message d'origine----- Bonjour Annette Sub test() On Error Resume Next Workbooks("Mon CLasseur.xls").Activate If Err <> 0 Then MsgBox "Le classeur Mon Classeur.xls n'est pas ouvert" Else: MsgBox "Le classeur Mon CLasseur.xls est ouvert" End If End Sub
Cordialement Pascal
"Annette" a écrit dans le message de
news:01c401c3aa8b$e8137070$ Bonjour,
j'ai un souçi tout bête. Comment, en VBA, tester si tel fichier Excel est déjà ouvert ou non ?
Merci beaucoup
Anne
.
Merci beaucoup Pascal !
-----Message d'origine-----
Bonjour Annette
Sub test()
On Error Resume Next
Workbooks("Mon CLasseur.xls").Activate
If Err <> 0 Then
MsgBox "Le classeur Mon Classeur.xls n'est pas ouvert"
Else: MsgBox "Le classeur Mon CLasseur.xls est ouvert"
End If
End Sub
Cordialement
Pascal
"Annette" <anonymous@discussions.microsoft.com> a écrit
dans le message de
-----Message d'origine----- Bonjour Annette Sub test() On Error Resume Next Workbooks("Mon CLasseur.xls").Activate If Err <> 0 Then MsgBox "Le classeur Mon Classeur.xls n'est pas ouvert" Else: MsgBox "Le classeur Mon CLasseur.xls est ouvert" End If End Sub
Cordialement Pascal
"Annette" a écrit dans le message de
news:01c401c3aa8b$e8137070$ Bonjour,
j'ai un souçi tout bête. Comment, en VBA, tester si tel fichier Excel est déjà ouvert ou non ?
Merci beaucoup
Anne
.
Michel Gaboly
Bonjour,
Ou, avec une fonction :
Sub Test() MsgBox EstOuvert("Mon Classeur.xls") End Sub
Function EstOuvert(w As String) Dim Val On Error Resume Next Val = Workbooks(w).Worksheets(1).Range("A1") EstOuvert = Err.Number = 0 End Function
NB - Le résultat sera erroné si le classeur ne comporte aucune feuille de calcul, mais c'est d'un cas d'école. On peut le tester en créant un nouveau classeur, auquel on ajoute une feuille macro XL4 (menu contextuel au niveau d'un onglet). Il faut ensuite supprimer toutes les feuilles de calcul et ajouter un module au classeur contenant cette procédure et la fonction "EstOuvert" :
Sub Test() MsgBox EstOuvert(ThisWorkbook.Name) End Sub
La Sub provoque l'affichage de FAUX, l'erreur provenant de WorkSheets(1), car la collection est vide.
C'est exprès que je n'ai pas mis Sheets(1), car la pre- mière feuille peut être une feuille graphique, pour laquel- le Range("A1") n'est pas défini.
Bonjour Annette Sub test() On Error Resume Next Workbooks("Mon CLasseur.xls").Activate If Err <> 0 Then MsgBox "Le classeur Mon Classeur.xls n'est pas ouvert" Else: MsgBox "Le classeur Mon CLasseur.xls est ouvert" End If End Sub
Cordialement Pascal
"Annette" a écrit dans le message de news:01c401c3aa8b$e8137070$ Bonjour,
j'ai un souçi tout bête. Comment, en VBA, tester si tel fichier Excel est déjà ouvert ou non ?
Merci beaucoup
Anne
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonjour,
Ou, avec une fonction :
Sub Test()
MsgBox EstOuvert("Mon Classeur.xls")
End Sub
Function EstOuvert(w As String)
Dim Val
On Error Resume Next
Val = Workbooks(w).Worksheets(1).Range("A1")
EstOuvert = Err.Number = 0
End Function
NB - Le résultat sera erroné si le classeur ne comporte
aucune feuille de calcul, mais c'est d'un cas d'école. On
peut le tester en créant un nouveau classeur, auquel on
ajoute une feuille macro XL4 (menu contextuel au niveau
d'un onglet). Il faut ensuite supprimer toutes les feuilles
de calcul et ajouter un module au classeur contenant cette
procédure et la fonction "EstOuvert" :
Sub Test()
MsgBox EstOuvert(ThisWorkbook.Name)
End Sub
La Sub provoque l'affichage de FAUX, l'erreur provenant
de WorkSheets(1), car la collection est vide.
C'est exprès que je n'ai pas mis Sheets(1), car la pre-
mière feuille peut être une feuille graphique, pour laquel-
le Range("A1") n'est pas défini.
Bonjour Annette
Sub test()
On Error Resume Next
Workbooks("Mon CLasseur.xls").Activate
If Err <> 0 Then
MsgBox "Le classeur Mon Classeur.xls n'est pas ouvert"
Else: MsgBox "Le classeur Mon CLasseur.xls est ouvert"
End If
End Sub
Cordialement
Pascal
"Annette" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:01c401c3aa8b$e8137070$a001280a@phx.gbl...
Bonjour,
j'ai un souçi tout bête.
Comment, en VBA, tester si tel fichier Excel est déjà
ouvert ou non ?
Sub Test() MsgBox EstOuvert("Mon Classeur.xls") End Sub
Function EstOuvert(w As String) Dim Val On Error Resume Next Val = Workbooks(w).Worksheets(1).Range("A1") EstOuvert = Err.Number = 0 End Function
NB - Le résultat sera erroné si le classeur ne comporte aucune feuille de calcul, mais c'est d'un cas d'école. On peut le tester en créant un nouveau classeur, auquel on ajoute une feuille macro XL4 (menu contextuel au niveau d'un onglet). Il faut ensuite supprimer toutes les feuilles de calcul et ajouter un module au classeur contenant cette procédure et la fonction "EstOuvert" :
Sub Test() MsgBox EstOuvert(ThisWorkbook.Name) End Sub
La Sub provoque l'affichage de FAUX, l'erreur provenant de WorkSheets(1), car la collection est vide.
C'est exprès que je n'ai pas mis Sheets(1), car la pre- mière feuille peut être une feuille graphique, pour laquel- le Range("A1") n'est pas défini.
Bonjour Annette Sub test() On Error Resume Next Workbooks("Mon CLasseur.xls").Activate If Err <> 0 Then MsgBox "Le classeur Mon Classeur.xls n'est pas ouvert" Else: MsgBox "Le classeur Mon CLasseur.xls est ouvert" End If End Sub
Cordialement Pascal
"Annette" a écrit dans le message de news:01c401c3aa8b$e8137070$ Bonjour,
j'ai un souçi tout bête. Comment, en VBA, tester si tel fichier Excel est déjà ouvert ou non ?