input box

R

Reeaz

Guest
Bonjour,

j'essaie de créer une input box dont la variable serait un nom de fichier.
Une fois le nom de fichier rentré, la macro irait ouvrir le fichier ds un répertoire bien précis.
je sais que c quelquechose du type Workbooks.OpenfileName qu'il faut utiliser, mais je n'arrive pas à l'intégrerà mon code.
Je voudaris également mettre une gestion des erreurs ds leccode:
-Si l'utilisateur ne rentre rien, on a un message d'avertissement et on sort de la macro
-De meme si l'utilisateur rentre un nom de fichier qui n'existe pas

J'ai commencé ca (ca n'est que le début...):

Sub Ouverture()

Dim fich As Variant

fich = InputBox("Entrez le nom du fichier que vous désirez ouvrir ", "Ouverture de fichier", Date)
On Error Resume Next
If fich = "" Then Exit Sub

End Sub

Si qqun a de quoi me dépanner, je suis preneur.

Merci,

Reeaz
 
@

@+Thierry

Guest
Salut Reeaz et le Forum


Humm Premier problème :

fich = InputBox("Entrez le nom du fichier que vous désirez ouvrir ", "Ouverture de fichier", Date)

L'InputBox par défaut avec une date 01/07/2007.... pour un nom de fichier à cause du "Date" en fin de ligne ci-dessus... non non !!! le "/" est un caractère interdit pour les nom de fichiers ou de répertoires...


Donc éventuellement :
Fich = InputBox("Entrez le nom du fichier que vous désirez ouvrir ", "Ouverture de fichier", Format(Date, "DD-MM-YYYY"))


Pour le reste voici une solution :
Sub OuvertureFichier()
Dim Fich As String
Dim Chem As String

Chem = "C:\mes documents\" 'changer en fonction

Fich = InputBox("Entrez le nom du fichier que vous désirez ouvrir ", "Ouverture de fichier", Format(Date, "DD MM YYYY"))
If Fich = "" Then Exit Sub

On Error GoTo NonTrouve
Workbooks.Open Chem & Fich & ".xls"

Exit Sub
NonTrouve:
MsgBox "Fichier : " & Fich & ".xls Non Trouvé dans : " & Chem
End Sub


Bon après midi
@+Thierry
 
R

Reeaz

Guest
Merci de m'avoir répondu mais j'ai réussi à m'en sortir.
Par contre, j'ai un autre problème, je voudrais récupérer la variable que j'apelle "fich" dans une autre proc et l'intégrer ds une commande, mais je n'y arrive pas.
Voila ma macro:

Public fich

Sub Ouverture()

'On envoie une inputbox pour demander le fichier par rapport auquel on veut comparer
'l'évolution des poches

Dim fich As Variant

fich = InputBox("Entrez le nom du fichier que vous désirez ouvrir ", "Ouverture de fichier")
If fich = "" Then Exit Sub

'On regarde si le fichier existe
Foundfich = Dir("I:\AUTOMATISATION\" & fich & ".xls")
'Foundfich = Dir("I:\AUTOMATISATION\fich.xls")
If Foundfich = "" Then
'MsgBox "ne peut trouver le fichier:" & vbCrLf & fich
MsgBox "Le fichier " & fich & " est introuvable!"
Exit Sub
Else: Workbooks.Open Filename:="I:\AUTOMATISATION\" & fich & ".xls"

End If

'Sinon on ouvre le fichier
'Workbooks.Open Filename:="I:\AUTOMATISATION\" & fich & ".xls"

End Sub


Sub Importation()

'On fait des copier coller des tableaux du dernier reporting afin de faire la comparaison
'entre deux reportings

'On active la fenêtre du reporting qu'on vient d'ouvrir
Windows("& fich &.xls").Activate
Sheets("Limites").Select

End Sub

Mon pb se situe ds le: Windows("& fich &.xls").Activate.

Qqun a une idée?

Merci.
 
@

@+Thierry

Guest
Re Reeaz, le Forum


Oui oui on a pas de pétrol mais on a des idée, même trois petites idées :

Premièrement : "Public fich " en dehors de la procédure suivie de Dim Fish As Variant à l'intérieur... Annule l'éffet Public de ta variable, de plus Fish reste une Variable String.

Deuxièmement : "FoundFich" n'est pas déclaré du tout, et avec Option Explicit (que je recommande), çà ne passe pas.

Troisièmement : "Windows("& fich &.xls").Activate" contient une erreur de syntax. Et perso, de toute manière je n'utilise jamais l'objet Windows, mais WorkBooks.

Voici la Version corrigée :

Option Explicit
Public Fich As String
Sub Ouverture()
Dim FoundFich As Variant
Fich = InputBox("Entrez le nom du fichier que vous désirez ouvrir ", "Ouverture de fichier")
If Fich = "" Then Exit Sub
FoundFich = Dir("C:\Mes Documents\" & Fich & ".xls")
If FoundFich = "" Then
MsgBox "Le fichier " & Fich & " est introuvable!"
Exit Sub
Else: Workbooks.Open Filename:="C:\Mes Documents\" & Fich & ".xls"
End If
End Sub


Sub Importation()
Workbooks(Fich & ".xls").Activate
Sheets("Sheet1").Select
End Sub

Bonne Fin de Journée
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
314 659
Messages
2 111 623
Membres
111 236
dernier inscrit
vinthi