D'habitude je récupère le nombre de classeurs ouverts avec l'instruction :
Windows.Count.
Je viens de me rendre compte qu'elle ne donne pas le même résultat si
elle est placée dans un module ou dans Private Sub Workbook_Open() ou
dans Private Sub Workbook_BeforeClose(Cancel As Boolean)
Savez vous pourquoi?
Avez vous une solution qui marche dans tous les cas?
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
Philippe.R
Bonsoir, Par sécurité, j'aurais tendance à placer l'instruction dans un module ordinaire du classeur Perso, comme ceci :
Sub compte_fenetres() nbfen = Application.Windows.Count-1 'MsgBox nbfen End Sub
en déclarant la variable nbfen publique -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Pierre" a écrit dans le message de news:496e39e8$0$6854$
Nombre de classeurs ouverts
D'habitude je récupère le nombre de classeurs ouverts avec l'instruction : Windows.Count.
Je viens de me rendre compte qu'elle ne donne pas le même résultat si elle est placée dans un module ou dans Private Sub Workbook_Open() ou dans Private Sub Workbook_BeforeClose(Cancel As Boolean)
Savez vous pourquoi? Avez vous une solution qui marche dans tous les cas?
Merci
PPz
Bonsoir,
Par sécurité, j'aurais tendance à placer l'instruction dans un module
ordinaire du classeur Perso, comme ceci :
Sub compte_fenetres()
nbfen = Application.Windows.Count-1
'MsgBox nbfen
End Sub
en déclarant la variable nbfen publique
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Pierre" <pierre.pagniez@libre.fr> a écrit dans le message de
news:496e39e8$0$6854$426a34cc@news.free.fr...
Nombre de classeurs ouverts
D'habitude je récupère le nombre de classeurs ouverts avec l'instruction :
Windows.Count.
Je viens de me rendre compte qu'elle ne donne pas le même résultat si elle
est placée dans un module ou dans Private Sub Workbook_Open() ou dans
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Savez vous pourquoi?
Avez vous une solution qui marche dans tous les cas?
Bonsoir, Par sécurité, j'aurais tendance à placer l'instruction dans un module ordinaire du classeur Perso, comme ceci :
Sub compte_fenetres() nbfen = Application.Windows.Count-1 'MsgBox nbfen End Sub
en déclarant la variable nbfen publique -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Pierre" a écrit dans le message de news:496e39e8$0$6854$
Nombre de classeurs ouverts
D'habitude je récupère le nombre de classeurs ouverts avec l'instruction : Windows.Count.
Je viens de me rendre compte qu'elle ne donne pas le même résultat si elle est placée dans un module ou dans Private Sub Workbook_Open() ou dans Private Sub Workbook_BeforeClose(Cancel As Boolean)
Savez vous pourquoi? Avez vous une solution qui marche dans tous les cas?
Merci
PPz
michdenis
| récupère le nombre de classeurs ouverts avec l'instruction : | Windows.Count.
Tu veux dire : Workbooks.Count
Est-ce possible que tu aies ouvert un ou des classeurs et qu'un de ceux-ci soient toujours ouverts et masqués ?
Exécute ces lignes de code pour connaître quels classeurs sont demeurés ouverts... cela devrait te donner une meilleure idée de ce qui se passe !
Sub test() Dim Wk As Workbook For Each Wk In Workbooks MsgBox "Son nom est : " & Wk.Name & vbCrLf & _ "Son chemin est : " & Wk.Path & vbCrLf & _ "Visible = " & Windows(Wk.Name).Visible Next End Sub
"Pierre" a écrit dans le message de groupe de discussion : 496e39e8$0$6854$ Nombre de classeurs ouverts
D'habitude je récupère le nombre de classeurs ouverts avec l'instruction : Windows.Count.
Je viens de me rendre compte qu'elle ne donne pas le même résultat si elle est placée dans un module ou dans Private Sub Workbook_Open() ou dans Private Sub Workbook_BeforeClose(Cancel As Boolean)
Savez vous pourquoi? Avez vous une solution qui marche dans tous les cas?
Merci
PPz
| récupère le nombre de classeurs ouverts avec l'instruction :
| Windows.Count.
Tu veux dire : Workbooks.Count
Est-ce possible que tu aies ouvert un ou des classeurs et qu'un
de ceux-ci soient toujours ouverts et masqués ?
Exécute ces lignes de code pour connaître quels classeurs sont demeurés ouverts...
cela devrait te donner une meilleure idée de ce qui se passe !
Sub test()
Dim Wk As Workbook
For Each Wk In Workbooks
MsgBox "Son nom est : " & Wk.Name & vbCrLf & _
"Son chemin est : " & Wk.Path & vbCrLf & _
"Visible = " & Windows(Wk.Name).Visible
Next
End Sub
"Pierre" <pierre.pagniez@libre.fr> a écrit dans le message de groupe de discussion :
496e39e8$0$6854$426a34cc@news.free.fr...
Nombre de classeurs ouverts
D'habitude je récupère le nombre de classeurs ouverts avec l'instruction :
Windows.Count.
Je viens de me rendre compte qu'elle ne donne pas le même résultat si
elle est placée dans un module ou dans Private Sub Workbook_Open() ou
dans Private Sub Workbook_BeforeClose(Cancel As Boolean)
Savez vous pourquoi?
Avez vous une solution qui marche dans tous les cas?
| récupère le nombre de classeurs ouverts avec l'instruction : | Windows.Count.
Tu veux dire : Workbooks.Count
Est-ce possible que tu aies ouvert un ou des classeurs et qu'un de ceux-ci soient toujours ouverts et masqués ?
Exécute ces lignes de code pour connaître quels classeurs sont demeurés ouverts... cela devrait te donner une meilleure idée de ce qui se passe !
Sub test() Dim Wk As Workbook For Each Wk In Workbooks MsgBox "Son nom est : " & Wk.Name & vbCrLf & _ "Son chemin est : " & Wk.Path & vbCrLf & _ "Visible = " & Windows(Wk.Name).Visible Next End Sub
"Pierre" a écrit dans le message de groupe de discussion : 496e39e8$0$6854$ Nombre de classeurs ouverts
D'habitude je récupère le nombre de classeurs ouverts avec l'instruction : Windows.Count.
Je viens de me rendre compte qu'elle ne donne pas le même résultat si elle est placée dans un module ou dans Private Sub Workbook_Open() ou dans Private Sub Workbook_BeforeClose(Cancel As Boolean)
Savez vous pourquoi? Avez vous une solution qui marche dans tous les cas?
Merci
PPz
Pierre
Merci de votre aide, cela marche avec Workbooks.count
Mais pourquoi diable Windows.count donne t-il le bon résultat quand il est dans un Module et un mauvais quand il se trouve dans le code exécuté à l'ouverture du classeur Excel? En fait j'ai besoin d'avoir le nombre de classeur ouverts dès l'ouverture.
Merci PPz
On 2009-01-14 20:15:52 +0100, Pierre said:
Nombre de classeurs ouverts
D'habitude je récupère le nombre de classeurs ouverts avec l'instruction : Windows.Count.
Je viens de me rendre compte qu'elle ne donne pas le même résultat si elle est placée dans un module ou dans Private Sub Workbook_Open() ou dans Private Sub Workbook_BeforeClose(Cancel As Boolean)
Savez vous pourquoi? Avez vous une solution qui marche dans tous les cas?
Merci
PPz
Merci de votre aide, cela marche avec Workbooks.count
Mais pourquoi diable Windows.count donne t-il le bon résultat quand il
est dans un Module et un mauvais quand il se trouve dans le code
exécuté à l'ouverture du classeur Excel?
En fait j'ai besoin d'avoir le nombre de classeur ouverts dès l'ouverture.
Merci
PPz
On 2009-01-14 20:15:52 +0100, Pierre <pierre.pagniez@libre.fr> said:
Nombre de classeurs ouverts
D'habitude je récupère le nombre de classeurs ouverts avec l'instruction :
Windows.Count.
Je viens de me rendre compte qu'elle ne donne pas le même résultat si
elle est placée dans un module ou dans Private Sub Workbook_Open() ou
dans Private Sub Workbook_BeforeClose(Cancel As Boolean)
Savez vous pourquoi?
Avez vous une solution qui marche dans tous les cas?
Merci de votre aide, cela marche avec Workbooks.count
Mais pourquoi diable Windows.count donne t-il le bon résultat quand il est dans un Module et un mauvais quand il se trouve dans le code exécuté à l'ouverture du classeur Excel? En fait j'ai besoin d'avoir le nombre de classeur ouverts dès l'ouverture.
Merci PPz
On 2009-01-14 20:15:52 +0100, Pierre said:
Nombre de classeurs ouverts
D'habitude je récupère le nombre de classeurs ouverts avec l'instruction : Windows.Count.
Je viens de me rendre compte qu'elle ne donne pas le même résultat si elle est placée dans un module ou dans Private Sub Workbook_Open() ou dans Private Sub Workbook_BeforeClose(Cancel As Boolean)
Savez vous pourquoi? Avez vous une solution qui marche dans tous les cas?
Merci
PPz
Mousnynao
Bonjour,
L'objet [ ThisWorkbook ] possède des méthodes et propriété un peu différente d'un module standard, certaine instructions n'y sont pas permise, j'ai rencontré ce genre de problème plus d'une fois.
Je contourne toujours de la façon suivante :
Dans la procédure [ Workbook_Open() ], je place le code suivant :
Option Explicit '
Function CompteNbrClasseur() As Long
CompteNbrClasseur = Workbooks.Count
End Function '
Cordialement
mousnynao Option Explicit
Private Sub Workbook_Open()
Dim Reponse As Long
Reponse = Module1.CompteNbrClasseur
If (Reponse < 1) Then MsgBox "Erreur d'application" Else If (Reponse = 1) Then MsgBox "Aucun classeur n'était ouvert" Else MsgBox Reponse & " classeurs ouverts" End If End If
End Sub
et dans un module standard, je place le code désiré :
"Pierre" a écrit :
Merci de votre aide, cela marche avec Workbooks.count
Mais pourquoi diable Windows.count donne t-il le bon résultat quand il est dans un Module et un mauvais quand il se trouve dans le code exécuté à l'ouverture du classeur Excel? En fait j'ai besoin d'avoir le nombre de classeur ouverts dès l'ouverture.
Merci PPz
On 2009-01-14 20:15:52 +0100, Pierre said:
> Nombre de classeurs ouverts > > D'habitude je récupère le nombre de classeurs ouverts avec l'instruction : > Windows.Count. > > Je viens de me rendre compte qu'elle ne donne pas le même résultat si > elle est placée dans un module ou dans Private Sub Workbook_Open() ou > dans Private Sub Workbook_BeforeClose(Cancel As Boolean) > > Savez vous pourquoi? > Avez vous une solution qui marche dans tous les cas? > > Merci > > PPz
Bonjour,
L'objet [ ThisWorkbook ] possède des méthodes et propriété un peu
différente d'un module standard, certaine instructions n'y sont pas
permise, j'ai rencontré ce genre de problème plus d'une fois.
Je contourne toujours de la façon suivante :
Dans la procédure [ Workbook_Open() ], je place le code suivant :
Option Explicit
'
Function CompteNbrClasseur() As Long
CompteNbrClasseur = Workbooks.Count
End Function
'
Cordialement
mousnynao
Option Explicit
Private Sub Workbook_Open()
Dim Reponse As Long
Reponse = Module1.CompteNbrClasseur
If (Reponse < 1) Then
MsgBox "Erreur d'application"
Else
If (Reponse = 1) Then
MsgBox "Aucun classeur n'était ouvert"
Else
MsgBox Reponse & " classeurs ouverts"
End If
End If
End Sub
et dans un module standard, je place le code désiré :
"Pierre" a écrit :
Merci de votre aide, cela marche avec Workbooks.count
Mais pourquoi diable Windows.count donne t-il le bon résultat quand il
est dans un Module et un mauvais quand il se trouve dans le code
exécuté à l'ouverture du classeur Excel?
En fait j'ai besoin d'avoir le nombre de classeur ouverts dès l'ouverture.
Merci
PPz
On 2009-01-14 20:15:52 +0100, Pierre <pierre.pagniez@libre.fr> said:
> Nombre de classeurs ouverts
>
> D'habitude je récupère le nombre de classeurs ouverts avec l'instruction :
> Windows.Count.
>
> Je viens de me rendre compte qu'elle ne donne pas le même résultat si
> elle est placée dans un module ou dans Private Sub Workbook_Open() ou
> dans Private Sub Workbook_BeforeClose(Cancel As Boolean)
>
> Savez vous pourquoi?
> Avez vous une solution qui marche dans tous les cas?
>
> Merci
>
> PPz
L'objet [ ThisWorkbook ] possède des méthodes et propriété un peu différente d'un module standard, certaine instructions n'y sont pas permise, j'ai rencontré ce genre de problème plus d'une fois.
Je contourne toujours de la façon suivante :
Dans la procédure [ Workbook_Open() ], je place le code suivant :
Option Explicit '
Function CompteNbrClasseur() As Long
CompteNbrClasseur = Workbooks.Count
End Function '
Cordialement
mousnynao Option Explicit
Private Sub Workbook_Open()
Dim Reponse As Long
Reponse = Module1.CompteNbrClasseur
If (Reponse < 1) Then MsgBox "Erreur d'application" Else If (Reponse = 1) Then MsgBox "Aucun classeur n'était ouvert" Else MsgBox Reponse & " classeurs ouverts" End If End If
End Sub
et dans un module standard, je place le code désiré :
"Pierre" a écrit :
Merci de votre aide, cela marche avec Workbooks.count
Mais pourquoi diable Windows.count donne t-il le bon résultat quand il est dans un Module et un mauvais quand il se trouve dans le code exécuté à l'ouverture du classeur Excel? En fait j'ai besoin d'avoir le nombre de classeur ouverts dès l'ouverture.
Merci PPz
On 2009-01-14 20:15:52 +0100, Pierre said:
> Nombre de classeurs ouverts > > D'habitude je récupère le nombre de classeurs ouverts avec l'instruction : > Windows.Count. > > Je viens de me rendre compte qu'elle ne donne pas le même résultat si > elle est placée dans un module ou dans Private Sub Workbook_Open() ou > dans Private Sub Workbook_BeforeClose(Cancel As Boolean) > > Savez vous pourquoi? > Avez vous une solution qui marche dans tous les cas? > > Merci > > PPz