fermer/ouvrir fichier par macro

Adeus33

XLDnaute Occasionnel
Bonjour le forum,

Cela fait un moment maintenant que je n’ai pas posté.

J’aurais une petite question, en espérant que ce soit possible.

Pouvons nous lors de l’exécution d’une macro :
- Fermer le fichier sur lequel ce trouve la macro
- Le ré-ouvrir
- Continuer l’exécution de la macro

Merci pour votre aide

Bonne journée
 

Pierrot93

XLDnaute Barbatruc
Re : fermer/ouvrir fichier par macro

Bonjour Adeus

si la macro en cours d'exécution est dans un classeur et que celui-ci est fermé, alors la macro s'arretera.... tu ne pourra ré-ouvrir ton fichier... enfin me semble t'il... quel est le but de la manoeuvre ?

bon après midi
@+
 

Adeus33

XLDnaute Occasionnel
Re : fermer/ouvrir fichier par macro

Bonjour Pierrot93,

Alors je vais essayer de m’expliquer (je dis bien essayer) :

Lorsque mon fichier contenant la macro est ouvert (fichier principal), je demande à l’utilisateur d’exporter une base de donnée « quelconque » dans un nouveau fichier excel (fichier temporaire, créé pour l’occasion).

Le fichier temporaire est donc créé alors que le fichier principal est ouvert.

Dans ces conditions, lorsque j’utilise le code suivant :

For Each w In Workbooks
If w.name = “nom du fichier temporaire” Then
………..
GoTo Suite
End If
Next w

Suite :

Je n’arrive pas à entrer dans la boucle par contre si je ferme le fichier principal est que je le ré-ouvre le code fonctionne.

Voila,

Si vous avez des idées, je suis preneur.

Merci pour votre aide.
 

Habitude

XLDnaute Accro
Re : fermer/ouvrir fichier par macro

Tu semble avoir mis ton code dans
workbook open ou dans workbook activate
solution : mettre le code dans un autre événement

Ou tu as des variables locales qui perde leur état.
solution : déclarer ta variable "global" dans un module
 

Pierrot93

XLDnaute Barbatruc
Re : fermer/ouvrir fichier par macro

Re,

utilise peut être des variables pour identifier tes différents classeurs, comme dans l'exemple ci-dessous.

Code:
Dim w1 As Workbook, w2 As Workbook
Set w1 = ThisWorkbook
'lorsque tu créé ton nouveau classeur temporaire
Set w2 = Workbooks.Add

Ensuite pour effectuer tes différentes actions, tu te réfères à w1 ou w2 selon le cas...

@+
 

YANN-56

XLDnaute Barbatruc
Re : fermer/ouvrir fichier par macro

Bonjour à toi, à tous et à ceux qui passeront par là.

Tu es dans "ThisWorkbook" qui génère ta procédure.

Tu ouvres un nouveau Classeur, tu copies une feuille ou tu pompes une donnée.
par:
HTML:
ThisWorkbook.FollowHyperlink ……………. LE CHEMIN

Puis choix de la feuille, choix des cellules et c.

Action accomplie, tu mets:

HTML:
If ActiveWorkbook.Name <> ThisWorkbook.Name Then
ActiveWorkbook.Saved = True
        ActiveWorkbook.Close
End If

Sous réserve que j'aie compris ce que tu cherches.
(Au cas où; je pourrais joindre un classeur exemple)

Bon après-midi

Yann
 

Discussions similaires

Réponses
2
Affichages
325

Statistiques des forums

Discussions
312 438
Messages
2 088 417
Membres
103 847
dernier inscrit
Girardon