verifier que le fichier auquel une macro est ouvert
2 réponses
Fred
bonsoir
j'ai une macro dans un fichier qui va chercher des donnees dans un fichier
ouvert, pour des raisons de ne pas utiliser de nom j'utilise,
workbooks(6).activate
comment verifier qu'il y a un workbooks(6) ouvert ou pas et comment dans ce
cas ne executer les commandes devant être faites sur ce workbooks(6)
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
j
set zaza=nothing on error resume next set zaza=workbooks(6) on error goto 0 if zaza is nothing then exit sub
on essaie d'affecter la variable zaza à l'objet workbooks(6), en neutralisant le message d'erreur éventuel Si ça ne marche pas, zaza reste à nothing et on peut le détecter par if "zaza is nothing".
j'ai une macro dans un fichier qui va chercher des donnees dans un fichier ouvert, pour des raisons de ne pas utiliser de nom j'utilise, workbooks(6).activate comment verifier qu'il y a un workbooks(6) ouvert ou pas et comment dans ce
cas ne executer les commandes devant être faites sur ce workbooks(6)
merci
set zaza=nothing
on error resume next
set zaza=workbooks(6)
on error goto 0
if zaza is nothing then exit sub
on essaie d'affecter la variable zaza à l'objet workbooks(6), en
neutralisant le message d'erreur éventuel
Si ça ne marche pas, zaza reste à nothing et on peut le détecter par if
"zaza is nothing".
j@c
http://jacxl.free.fr
"Fred" <frederic.garnier@noos.fr> a écrit dans le message de news:
#hhIKLEEIHA.280@TK2MSFTNGP03.phx.gbl...
bonsoir
j'ai une macro dans un fichier qui va chercher des donnees dans un fichier
ouvert, pour des raisons de ne pas utiliser de nom j'utilise,
workbooks(6).activate
comment verifier qu'il y a un workbooks(6) ouvert ou pas et comment dans
ce
cas ne executer les commandes devant être faites sur ce workbooks(6)
set zaza=nothing on error resume next set zaza=workbooks(6) on error goto 0 if zaza is nothing then exit sub
on essaie d'affecter la variable zaza à l'objet workbooks(6), en neutralisant le message d'erreur éventuel Si ça ne marche pas, zaza reste à nothing et on peut le détecter par if "zaza is nothing".
j'ai une macro dans un fichier qui va chercher des donnees dans un fichier ouvert, pour des raisons de ne pas utiliser de nom j'utilise, workbooks(6).activate comment verifier qu'il y a un workbooks(6) ouvert ou pas et comment dans ce
cas ne executer les commandes devant être faites sur ce workbooks(6)
merci
lSteph
Bonjour,
workbooks(6).activate Vivement déconseillé!!!! Sauf si tu veux te planter de classeur . (voir plus loin justification de ce que j'avance)
Si c'est malgré cette formule ce que tu souhaites (vérifier avant d'activer): '''''''''''' Sub test() Dim wbk6 As Workbook On Error Resume Next Set wbk6 = Workbooks(6) On Error GoTo 0 If wbk6 Is Nothing Then MsgBox "non trouvé" Else wbk6.Activate End If
End Sub ''''''''''''''
Workbooks(6) pas bon , pourquoi...:
L'ecran vide fais l'essai ouvre 7nouveaux classeurs il y a de grande chances pour que workbooks(6).activate t'emmène sur Classeur5 Suffit que tu aies un fichier de macros personnelles par exemple Perso.xls est chargé à l'ouverture mais tu ne le vois pas dans la fenêtre il est déjà là en tant que premier classeur.
D'une autre façon ouvre une cinquantaine de classeurs, puis fermes en certains au hasard, workbooks(6).activate peut aussi bien t'emmener sur Classeur13 que sur Classeur21
... .. des raisons de ne pas utiliser de nom...??? A ta place j'utiliserais précisément le nom exact du classeur, et sans
nécessairement l'activer j'irais y pêcher ce que je veux.
-- lSteph
.. On 17 oct, 00:20, "Fred" wrote:
bonsoir
j'ai une macro dans un fichier qui va chercher des donnees dans un fichier ouvert, pour des raisons de ne pas utiliser de nom j'utilise, workbooks(6).activate comment verifier qu'il y a un workbooks(6) ouvert ou pas et comment dans ce cas ne executer les commandes devant être faites sur ce workbooks(6)
merci
Bonjour,
workbooks(6).activate
Vivement déconseillé!!!! Sauf si tu veux te planter de classeur .
(voir plus loin justification de ce que j'avance)
Si c'est malgré cette formule ce que tu souhaites (vérifier avant
d'activer):
''''''''''''
Sub test()
Dim wbk6 As Workbook
On Error Resume Next
Set wbk6 = Workbooks(6)
On Error GoTo 0
If wbk6 Is Nothing Then
MsgBox "non trouvé"
Else
wbk6.Activate
End If
End Sub
''''''''''''''
Workbooks(6) pas bon , pourquoi...:
L'ecran vide fais l'essai ouvre 7nouveaux classeurs
il y a de grande chances pour que
workbooks(6).activate t'emmène sur Classeur5
Suffit que tu aies un fichier de macros personnelles par exemple
Perso.xls est chargé à l'ouverture mais tu ne le vois pas dans la
fenêtre
il est déjà là en tant que premier classeur.
D'une autre façon
ouvre une cinquantaine de classeurs, puis fermes en certains au
hasard,
workbooks(6).activate peut aussi bien t'emmener sur Classeur13 que sur
Classeur21
... .. des raisons de ne pas utiliser de nom...???
A ta place j'utiliserais précisément le nom exact du classeur, et sans
nécessairement l'activer j'irais y pêcher ce que je veux.
--
lSteph
..
On 17 oct, 00:20, "Fred" <frederic.garn...@noos.fr> wrote:
bonsoir
j'ai une macro dans un fichier qui va chercher des donnees dans un fichier
ouvert, pour des raisons de ne pas utiliser de nom j'utilise,
workbooks(6).activate
comment verifier qu'il y a un workbooks(6) ouvert ou pas et comment dans ce
cas ne executer les commandes devant être faites sur ce workbooks(6)
workbooks(6).activate Vivement déconseillé!!!! Sauf si tu veux te planter de classeur . (voir plus loin justification de ce que j'avance)
Si c'est malgré cette formule ce que tu souhaites (vérifier avant d'activer): '''''''''''' Sub test() Dim wbk6 As Workbook On Error Resume Next Set wbk6 = Workbooks(6) On Error GoTo 0 If wbk6 Is Nothing Then MsgBox "non trouvé" Else wbk6.Activate End If
End Sub ''''''''''''''
Workbooks(6) pas bon , pourquoi...:
L'ecran vide fais l'essai ouvre 7nouveaux classeurs il y a de grande chances pour que workbooks(6).activate t'emmène sur Classeur5 Suffit que tu aies un fichier de macros personnelles par exemple Perso.xls est chargé à l'ouverture mais tu ne le vois pas dans la fenêtre il est déjà là en tant que premier classeur.
D'une autre façon ouvre une cinquantaine de classeurs, puis fermes en certains au hasard, workbooks(6).activate peut aussi bien t'emmener sur Classeur13 que sur Classeur21
... .. des raisons de ne pas utiliser de nom...??? A ta place j'utiliserais précisément le nom exact du classeur, et sans
nécessairement l'activer j'irais y pêcher ce que je veux.
-- lSteph
.. On 17 oct, 00:20, "Fred" wrote:
bonsoir
j'ai une macro dans un fichier qui va chercher des donnees dans un fichier ouvert, pour des raisons de ne pas utiliser de nom j'utilise, workbooks(6).activate comment verifier qu'il y a un workbooks(6) ouvert ou pas et comment dans ce cas ne executer les commandes devant être faites sur ce workbooks(6)