Cette derniere ligne permet d'ouvrir un fichier dans un chemin specifie avec
un de plus que B1 c'est à dire : C:\2010\alerte 2010.xls
le soucis est que je ne veux pas l'ouvrir mais l'activer car il est deja
ouvert.
J'ai essayé des Workbooks.activate ....etc, mais rien n'y fait.
que dois je faire?
Cette derniere ligne permet d'ouvrir un fichier dans un chemin specifie avec un de plus que B1 c'est à dire : C:2010alerte 2010.xls le soucis est que je ne veux pas l'ouvrir mais l'activer car il est deja ouvert. J'ai essayé des Workbooks.activate ....etc, mais rien n'y fait. que dois je faire?
Merci
Manu
Bonjour,
Je n'ai pas compris ta question ...
Lorsque tu utilises une ligne de code comme ceci :
Workbooks.Open Filename:=Chemin & NomFic
Le fichier que tu viens d'ouvrir est déjà le fichier actif
quoi que tu fasses.
Pour activer un classeur :
Workbooks("NomDuClasseur.xls").Activate
"Manu" <manuel.gamin@wanadoo.fr> a écrit dans le message de groupe de discussion :
emiPGQapKHA.4348@TK2MSFTNGP06.phx.gbl...
Bonjour,
J'ai un soucis sur ce bout de code de philippe R que je tente de mettre en
place en fonction de mes besoins :
En B1 j'ai 2009
Cette derniere ligne permet d'ouvrir un fichier dans un chemin specifie avec
un de plus que B1 c'est à dire : C:2010alerte 2010.xls
le soucis est que je ne veux pas l'ouvrir mais l'activer car il est deja
ouvert.
J'ai essayé des Workbooks.activate ....etc, mais rien n'y fait.
que dois je faire?
Cette derniere ligne permet d'ouvrir un fichier dans un chemin specifie avec un de plus que B1 c'est à dire : C:2010alerte 2010.xls le soucis est que je ne veux pas l'ouvrir mais l'activer car il est deja ouvert. J'ai essayé des Workbooks.activate ....etc, mais rien n'y fait. que dois je faire?
Merci
Manu
FdeCourt
Salut,
Remplace le Workbook.open par ceci : If fichierOuvert(NomFic) = False Then Workbooks.Open Filename:=Chemin & NomFic
Et ajoute cette fonction :
Function fichierOuvert(monFichier As String) As Boolean Dim WorkBookActif as String On Error GoTo err_handler WorkBookActif = ActiveWorkbook.Name Workbooks(monFichier).Activate Workbooks(WorkBookActif).Activate fichierOuvert = True On Error GoTo 0 Exit Function err_handler: fichierOuvert = False End Function
Cordialement,
F.
Salut,
Remplace le Workbook.open par ceci :
If fichierOuvert(NomFic) = False Then Workbooks.Open Filename:=Chemin
& NomFic
Et ajoute cette fonction :
Function fichierOuvert(monFichier As String) As Boolean
Dim WorkBookActif as String
On Error GoTo err_handler
WorkBookActif = ActiveWorkbook.Name
Workbooks(monFichier).Activate
Workbooks(WorkBookActif).Activate
fichierOuvert = True
On Error GoTo 0
Exit Function
err_handler:
fichierOuvert = False
End Function
Remplace le Workbook.open par ceci : If fichierOuvert(NomFic) = False Then Workbooks.Open Filename:=Chemin & NomFic
Et ajoute cette fonction :
Function fichierOuvert(monFichier As String) As Boolean Dim WorkBookActif as String On Error GoTo err_handler WorkBookActif = ActiveWorkbook.Name Workbooks(monFichier).Activate Workbooks(WorkBookActif).Activate fichierOuvert = True On Error GoTo 0 Exit Function err_handler: fichierOuvert = False End Function
Cordialement,
F.
michdenis
et si tu désires empêcher un fichier d'ouvrir s'il l'est déjà :
Dim Wk As Workbook
'------------------------------------ On Error Resume Next Set Wk = Workbooks(NomFic) If Err <> 0 Then Err.Clear Workbooks.Open Filename:=Chemin & NomFic Else Wk.Activate End With '------------------------------------
et si tu désires empêcher un fichier d'ouvrir s'il l'est déjà :
Dim Wk As Workbook
'------------------------------------
On Error Resume Next
Set Wk = Workbooks(NomFic)
If Err <> 0 Then
Err.Clear
Workbooks.Open Filename:=Chemin & NomFic
Else
Wk.Activate
End With
'------------------------------------
et si tu désires empêcher un fichier d'ouvrir s'il l'est déjà :
Dim Wk As Workbook
'------------------------------------ On Error Resume Next Set Wk = Workbooks(NomFic) If Err <> 0 Then Err.Clear Workbooks.Open Filename:=Chemin & NomFic Else Wk.Activate End With '------------------------------------
Function fichierOuvert(monFichier As String) As Boolean Dim s As Workbook On Error GoTo err_handler Set s = Workbooks(monFichier) fichierOuvert = True On Error GoTo 0 Exit Function err_handler: fichierOuvert = False End Function
Sinon petite question pour les pros.
J'utilise quasiment toujours des fonctions pour faire des tests, qui ne sont pas forcément réutilisées. Je trouve que ca donne de la visibilité du code mais est-ce une bonne méthode ?
Merci pour vos commentaires
Cordialement,
F.
Salut,
Fonction légèrement améliorée grace à FFO :
Function fichierOuvert(monFichier As String) As Boolean
Dim s As Workbook
On Error GoTo err_handler
Set s = Workbooks(monFichier)
fichierOuvert = True
On Error GoTo 0
Exit Function
err_handler:
fichierOuvert = False
End Function
Sinon petite question pour les pros.
J'utilise quasiment toujours des fonctions pour faire des tests, qui
ne sont pas forcément réutilisées. Je trouve que ca donne de la
visibilité du code mais est-ce une bonne méthode ?
Function fichierOuvert(monFichier As String) As Boolean Dim s As Workbook On Error GoTo err_handler Set s = Workbooks(monFichier) fichierOuvert = True On Error GoTo 0 Exit Function err_handler: fichierOuvert = False End Function
Sinon petite question pour les pros.
J'utilise quasiment toujours des fonctions pour faire des tests, qui ne sont pas forcément réutilisées. Je trouve que ca donne de la visibilité du code mais est-ce une bonne méthode ?
Merci pour vos commentaires
Cordialement,
F.
Manu
Impec, ca fonctionne merci de votre aide à tous, j'ai utilisé la methode de FFO
Manu
"FFO" a écrit dans le message de news:
Salut à toi
Pour activer ton document fais avec ceci :
Workbooks(NomFic).Activate
Le fichier NomFic doit être ouvert
Celà devrait faire
Dis moi !!!!!!
Impec, ca fonctionne merci de votre aide à tous, j'ai utilisé la methode de
FFO
Manu
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
71946E20-9543-4CB9-AF4A-8C16FC13644E@microsoft.com...