IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Boite de dialogue selection fichier texte


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Août 2008
    Messages : 125
    Points : 55
    Points
    55
    Par défaut Boite de dialogue selection fichier texte
    Bonjour,

    je suis sous office 2000, et je cherche à faire apparaitre une boite de dialogue pour sélectionner un fichier type .txt.
    Actuellement j'utilise ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Const FolderParamS = "T:\Programme\"
    Const DataParamS = "test.txt"
    Workbooks.OpenText Filename:= _
            FolderParamS & DataParamS, Origin:= _
            xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
            xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
            Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
            Array(2, 1), Array(3, 1), Array(4, 1))
    mais ceci impose que FolderParamS & DataParamS soient des constantes, or je voudrais que ce soit variable, et je voudrais que lorsque mon fichier ainsi sélectionné s'ouvre, qu'il s'ouvre dans les conditions précédentes à savoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Origin:= _
            xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
            xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
            Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
            Array(2, 1), Array(3, 1), Array(4, 1))
    j'essaie la fonction Application.Dialogs.Item(xlDialogOpen).Show mais j'ai toutes les extensions possibles et ensuite à l'ouverture du fichier, cela me demande sous quel format je veux que le fichier soit ouvert.

    Avez-vous une autre solution ?
    j'ai essayé également la boite de dialogue de ouskel'n'or, mais c'est trop lourd pour ce que je veux.

    Je vous remercie par avance pour votre aide

    Patricia

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Si j'ai bien compris, ceci devrait correspondre à tes attentes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim Fich As Variant
     
    Fich = Application.GetOpenFilename("Fichier texte (*.txt), *.txt")
    If Fich = False Then Exit Sub
     
    Workbooks.OpenText Filename:=Fich, Origin:= _
            xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
            xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
            Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
            Array(2, 1), Array(3, 1), Array(4, 1))

  3. #3
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    As-tu essayé avec l'objet FileDialog ? Un petit exemple ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub AfficherDialogueOuvrir()
        With Application.FileDialog(msoFileDialogOpen)
            .Filters.Clear
            .Filters.Add "Texte pur", "*.txt", 1
            .Filters.Add "Classeur Excel", "*.xls", 2
            .FilterIndex = 1
            .Show       ' affiche la boîte de dialogue
            .Execute    ' exécute l'action (ouvrir ou annuler)
        End With
    End Sub

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Août 2008
    Messages : 125
    Points : 55
    Points
    55
    Par défaut merci à vous deux pour votre aide
    de mon côté j'ai trouvé un truc qui le fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    'Choix du fichier texte qui a été créé par Python (on est obligé de choisir un fichier)
    encore:
    DataParamS = Application.GetOpenFilename("Fichiers texte (*.txt),*.txt")
    If DataParamS = False Then
    MsgBox "vous devez choisir un fichier"
    GoTo encore
    End If
    Workbooks.OpenText Filename:= _
            DataParamS, Origin:= _
            xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
            xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
            Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
            Array(2, 1), Array(3, 1), Array(4, 1))
    et je vais me servir de vos conseils pour améliorer mon code.

    Merci beaucoup de votre aide

    Patricia

  5. #5
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Salut zaza,

    FileDialog n'est disponible qu'à partir de la version 2002 d'Excel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FAQ] Utiliser la boite de dialogue selection d'un fichier
    Par ludojojo dans le forum Vos Contributions VBScript
    Réponses: 0
    Dernier message: 13/08/2009, 16h48
  2. Boite de dialogues pour fichiers types
    Par Stéphane Olivier BERNARD dans le forum VBA Access
    Réponses: 4
    Dernier message: 16/08/2007, 08h49
  3. Boite de dialogue selection dossier
    Par cuba1393 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 30/03/2007, 15h37
  4. [FAQ] Utiliser la boite de dialogue selection d'un répertoire
    Par SfJ5Rpw8 dans le forum Vos Contributions VBScript
    Réponses: 4
    Dernier message: 16/03/2007, 07h38
  5. ouverture boite de dialogue selection fichiers
    Par Gmrinfo dans le forum VBScript
    Réponses: 5
    Dernier message: 17/02/2007, 19h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo