Fermer fichier code VBA

re-bonjour tout le monde,

voila mon problème (encore un problème ... )

J'ai réussi a faire un code dans une userform1, disant d'aller ouvrir un fichier excel sur le réseau de ma boite, en fonction d'une date inscrite sur une feuille, les fichiers sont identique au début du nomage mais la fin change en fonction de la date de creation du fichier ...

ex = VFU-23-May-2014.xlsx

Voici le code d'ouverture (qui fonctionne nickel)

Dim wb As workbook

Dim ws As Worksheet

Set wb = Workbooks.Open("\\a11filesrv02.pharma.aventis.com\share-repository\SHAREFolders\IRMP\DataExtracts\VFU\" & "VFU-" & TextBox2_date & ".xlsx")

Set ws = wb.Worksheets("Sheet1")

maintenant j'ai besoin d'avoir dans une userform2, un code qui fermerait ce fichier automatiquement sans enregistrement.

voila ce que j'ai mis comme code ... mais ça marche pas ....

Workbooks("VFU-" & TextBox2_date & ".xlsx").Close False

Merci pour votre aide.

Laurent

Bonjour Lolo69490

Normalement tu dois être comme tout le monde, F1 te permet d'avoir de l'aide dans VBAProject

Ton instruction ne peut effectivement pas fonctionner telle quelle

De plus en définissant ta variable "Wb" dans un module en tant que public, tu pourrais la réutiliser partout

Ce qui te donnerait

Wb.Close SaveChanges:=False

A+

bonjour BrunoM45,

tout d'abord merci pour ta réponse ... mais j'avoue que tu m'as bien fait rire avec le F1 ... ... promis la prochaine fois j'irai jeter un oeil voir les deux.

Etant donné que tu m'as l'air de quelqu'un de sympa, j'en profite ...

peux-tu me dire comment définir ma variable Wb dans un module public ?

Merci encore pour ton aide

Laurent

Re,

lolo69490 a écrit :

tout d'abord merci pour ta réponse ... mais j'avoue que tu m'as bien fait rire avec le F1 ... ... promis la prochaine fois j'irai jeter un oeil voir les deux.

Etant donné que tu m'as l'air de quelqu'un de sympa, j'en profite ...

Profite mais pas trop tout de même

Dans un module de projet VBA, en général le module que tu détermines comme étant le principal en y mettant toutes les variables, les déclarations API, etc ...

Tu mets en entête de celui-ci

Public Wb as Workbook

Ce qui te permets ensuite d'utiliser la variable [Wb] partout dans ton projet VBA, attention toute fois à la rigueur du développement

a+

navré, mais je comprends ou je t'ai peut etre pas tout expliquer ...

je te mets le code que j'ai mis pour ouvrir le fichier qui se trouve sur un reseau dans ma boite ... et comme tu peux le remarquer le nom du fichier n'est pas figé, il varie en fonction de la date du jour qui se trouve en fin de nom.

C'est une userform qui se trouve sur un fichier excel (fichier1) et dans le code de l'userform et non sur Modules j'ai mis ça :

'ouvre le ficher 2 sur le reseau

Dim Wb As Workbook

Dim ws As Worksheet

Set Wb = Workbooks.Open("\\a11filesrv02.pharma.aventis.com\share-repository\SHAREFolders\IRMP\DataExtracts\VFU\" & "VFU-" & TextBox2_date & ".xlsx")

Set ws = Wb.Worksheets("Sheet1")

Une fois revenu sur le fichier1, j'aimerai que le fichier2 se referme tout seul ... mais c'est là que je n'arrive a dire au code vba de refermer le fichier2 celui qui se trouve sur le réseau de ma boite....

Peux-tu trouver une solution a mon probleme ?

Merci pour ton aide

Laurent

Re,

J'ai bien compris ton problème, mais c'est toi qui ne comprends pas mon langage

Comme tu as ouvert ton fichier 2, de la sorte

Set Wb = Workbooks.Open("\\a11filesrv02.pharma.aventis.com\share-repository\SHAREFolders\IRMP\DataExtracts\VFU\" & "VFU-" & TextBox2_date & ".xlsx")

Pour le refermer après traitement, il suffit de faire

Wb.Close SaveChanges:=False

Je ne vois pas ou est le problème !?!

A+

je suis désolé, mais y a un truc que je dois pas faire correctement, car ça ne marche pas, je t'ai mis un extrait de mon fichier, pour que tu puisses m'aider ... en sachant que je souhaite qu'il se ferme dans l'userform2 apres avoir copier et coller les infos.

Merci pour ton aide.

6search3.xlsm (26.73 Ko)

Re,

Voici ton fichier avec le code modifié

A+

15search3.xlsm (31.45 Ko)

lorsque le fichier se ferme, j'ai un message me disant

le press papier contient une grande d'information. Voulez vous avoir la possibilité de coller ces informations dans un autre document ulterieurement ?

oui / non / annuler

serait-il possible d'avoir ce code sans ce message ?

Re,

  ' Empècher les messages intempestif
  Application.DisplayAlerts = False
  ' Fermer le classeur réseau
  Wb.Close SaveChanges:=False
  ' réactiver les messages d'alerte
  Application.DisplayAlerts = True

t'es genial !!! ça marche du feu de dieu !!!

Merci pour ton aide

Laurent

Bonjour BrunoM45,

Je me permets de revenir vers toi, car tu m'avais aider sur mon probleme ... je suis obligé de changer de code pour ouvrir mon 2e fichier, j'ai fais ce code ....

Dim Rep As String

Rep = "\\a11filesrv02.pharma.aventis.com\share-repository\SHAREFolders\IRMP\DataExtracts\VFU"

If Dir(Rep, vbDirectory) <> "" Then

Application.Dialogs(xlDialogOpen).Show Rep

Else

MsgBox "Chemin introuvable"

End If

Mon probleme que je lui demande d'ouvrir ce second fichier de copier des infos et d'aller le coller dans mon fichier principal puis de fermer ce second fichier, mais impossible de trouver le bon code vba ...

Par hasard, aurais-tu quelque part dans ton super chapeau, un code ou un tour de passe passe qui puisse m'aider ...

Merci par avance pour ton aide précieuse

Laurent

Rechercher des sujets similaires à "fermer fichier code vba"