Ouvrir un fichier txt sélectionné manuellement dans Excel

Résolu
VBforfun Messages postés 10 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 9 juin 2008 - 24 sept. 2007 à 17:23
VBforfun Messages postés 10 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 9 juin 2008 - 25 janv. 2008 à 14:19
Bonjour,

Ayant cherché et fait des essais sans succès depuis pas mal d'heures, j'espère que l'un d'entre vous pourra m'apporter son aide.

A partir d'un fichier Excel ouvert, je souhaite ouvrir un fichier txt avec les contraintes suivantes :

1. Ouvrir la boite de dialogue Fichier/Ouvrir, si possible filtrée aux fichiers "prn,txt,csv", sinon "tous les fichiers", la boite s'ouvrant dans un répertoire prédéterminé dans le code VBA.

2. Sélectionner manuellement le fichier txt à ouvrir.

3. Ouvrir le fichier sans passer par la boite "Assistant d'importation" en 3 étapes, dont les paramètres seront aussi dans le code.

Le code sera inclus dans un module vba du fichier Excel.

D'avance merci.

4 réponses

VBforfun Messages postés 10 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 9 juin 2008
25 janv. 2008 à 14:19
J'ai trouvé la solution (enfin, on m'a beaucoup aidé, il y a quelques temps déjà) et je pense utile de compléter ce sujet avec le code que j'ai utilisé et qui marche très bien :

'paramétrer le répertoire présenté par défaut
    Const cstTxtPath = "C\Mon_Répertoire"
   
    Dim lstrFileName As String
    ChDrive cstTxtPath
    ChDir cstTxtPath
   
    lstrFileName = Application.GetOpenFilename("Fichier décrit comme je souhaite (*.txt), *.txt", 0, "Sélectionner le ficher de données souhaité")
   
' test si un fichier a été sélectionné
    If lstrFileName = "Faux" Then
        Dim Msg2, Style2, Title2, Help2, Ctxt2, Response2, MyString2
        Msg2 = "Aucun fichier sélectionné."    ' Définit le message.
        Style2 = vbOKOnly    ' Définit les boutons.
        Title2 = "Abandon !"    ' Définit le titre.
        ' Affiche le message.
        Response2 = MsgBox(Msg2, Style2, Title2)
    Else
        Workbooks.OpenText FileName:=lstrFileName, _
            Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
            xlDoubleQuote, Tab:=True, TrailingMinusNumbers:=True
        ActiveWindow.ActivatePrevious
    End If
3
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
24 sept. 2007 à 18:03
Salut, pour la boîte de dialogue fichier/ouvrir:

Application.Dialogs(xlDialogOpen).Show

Pour le reste, je pense que tu devrais essayer avec l'enregistreur de macro et adapter...

Tubafat  
Avant d'imprimer, pensez à l'environnement
0
VBforfun Messages postés 10 Date d'inscription lundi 24 septembre 2007 Statut Membre Dernière intervention 9 juin 2008
24 sept. 2007 à 19:51
Merci de ta réponse.

L'enregistreur ne convient pas car tout est enregistré en une seule instruction, avec le nom du fichier inclus, ce que je ne veux pas.
0
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
24 sept. 2007 à 21:08
Bonjour
Tu peux passer le nom de ton fichier avec son chemin en variable dans ta macro ce qui fait que tu n'auras qu'a saisir ceux ci puis lancer ta macro.

@+: SCCréat
Pensez:  Réponse acceptée

Mail:
Stéphan.COCHET
0
Rejoignez-nous