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:=FalseA+
bonjour BrunoM45,
tout d'abord merci pour ta réponse ... mais j'avoue que tu m'as bien fait rire avec le F1 ...
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 WorkbookCe 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:=FalseJe 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.
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 = Truet'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