Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

verifier que le fichier auquel une macro est ouvert

2 réponses
Avatar
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)

merci

2 réponses

Avatar
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".

http://jacxl.free.fr



"Fred" a écrit dans le message de news:
#
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




Avatar
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