Ouvrir un fichier txt sélectionné manuellement dans Excel [Résolu]

VBforfun 10 Messages postés lundi 24 septembre 2007Date d'inscription 9 juin 2008 Dernière intervention - 24 sept. 2007 à 17:23 - Dernière réponse : VBforfun 10 Messages postés lundi 24 septembre 2007Date d'inscription 9 juin 2008 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
VBforfun 10 Messages postés lundi 24 septembre 2007Date d'inscription 9 juin 2008 Dernière intervention - 25 janv. 2008 à 14:19
3
Merci
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

Merci VBforfun 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de VBforfun
tubafat 79 Messages postés lundi 17 juillet 2006Date d'inscription 25 septembre 2007 Dernière intervention - 24 sept. 2007 à 18:03
0
Merci
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
Commenter la réponse de tubafat
VBforfun 10 Messages postés lundi 24 septembre 2007Date d'inscription 9 juin 2008 Dernière intervention - 24 sept. 2007 à 19:51
0
Merci
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.
Commenter la réponse de VBforfun
FMatrix07 233 Messages postés mercredi 26 février 2003Date d'inscription 21 février 2009 Dernière intervention - 24 sept. 2007 à 21:08
0
Merci
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
Commenter la réponse de FMatrix07

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.