Importation de plusieur fichier texte sur excel

kgigant Messages postés 223 Statut Membre -  
kgigant Messages postés 223 Statut Membre -
Bonjour,

Grâce aux autres discussions j'ai appris qu'il été possible d'importer un fichier texte sous excel.
J'ai donc crée une macro qui va chercher un fichier texte dans un document, le copie, et le met en forme sous excel.
Cependant j'ai une centaine de fichier texte a aller chercher dans ce document et à remettre sous excel.
J'aimerai savoir comment faire afin que dans ma macro je puisse selectionner tous les fichiers texte du document lorsque j'indique le chemin.

Actuellement mon chemin c'est,

N'\atelier\divers\machines\nomdufichiertexte.text

Vous l'aurez compris jaimerai quil selectionne tous les fichiers texte du document machine.

Merci

8 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour
    chdir tonchemin
    fich = Dir("*.txt")
    While fich <> ""

    Ta macro qui importe le fichier txt (fich est le nom du fichier texte en cours, à mettre en variable Private avant les macros)

    fich = Dir
    Wend
    0
  2. kgigant Messages postés 223 Statut Membre 9
     
    Pourrais tu expliquer d'avantage s'il te plait,
    Que signifie chdirton chemin par exemple ?
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      !!!
      Chdir "N'\atelier\divers\machines\"

      en général les fichiers texte ont un suffixe "txt" et bon "text"; si c'est quand même le cas tu modifies le code

      entre while fich<>"" et fich=dir
      tu insères ta macro
      il faut donc garder en mémoire la variable "fich" et la déclarer en t^te de ton module avant toute macro
      dim fich as string
      ou
      private fich as string

      ou alors tu utilises une macro paramétrée style
      sub macro(fich_txt)
      dans laquelle fich_txt prend la valeur de fich

      et tu remplaces le nom du fichier texte de ta macro de départ(par ex toto.txt), le fichier que tu traitais) par la variable fich_txt
      0
    2. kgigant Messages postés 223 Statut Membre 9
       
      désolé mais je n'avais plus accès à internet !!
      0
  3. kgigant Messages postés 223 Statut Membre 9
     
    merci michel de ton aide mais malheureusement apres plusieurs tentative ca ne fonctionne pas !

    voici le code :

    Sub texte()

    Dim fich as string
    ChDir "N:\Atelier\divers\machine\ tubeuse.txt"
    fich = Dir("*.txt")
    While fich <> ""

    With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;N:\Atelier\divers\machine\ fich.txt" _
    , Destination:=Range("$A$1"))
    .Name = "fich"
    .FieldNames = Tru
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 1252
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False

    End With

    fich = Dir
    Wend

    End Sub

    j'ai un problème de chemin alors qu'il est bon
    0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    j'ai un problème de chemin alors qu'il est bon

    NON
    "N:\Atelier\divers\machine\ tubeuse.txt" est un nom complet de fichier...
    un chemin (path) s'écrirait ainsi
    "N:\Atelier\divers\machine\"

    d'autre part la variable fich renverra cette syntaxe tonfichier.txt
    donc
    fich.txt est faux

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kgigant Messages postés 223 Statut Membre 9
     
    je prends note je vais réessayer ce matin, merci
    0
  7. kgigant Messages postés 223 Statut Membre 9
     
    J'ai un probleme de boucle je crois

    Sub texte()

    Dim fich as string
    ChDir "N:\Atelier\divers\machine\"
    fich = Dir("*.txt")
    While fich <> ""

    With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;N:\Atelier\divers\machine\fich" _
    , Destination:=Range("$A$1"))
    .Name = "fich"
    .FieldNames = Tru
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 1252
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = True
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False

    End With

    fich = Dir
    Wend

    End Sub

    dans .name= je dois mettre quoi ?
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      .name est le nom que tu donnes au tableau résultant: tu peux mettre le nom que tu veux, évite quand m^me les accents espaces et signes de ponctuatuion, et par prudence 1° caractère: une lettre.

      mais j'utilise jamais Query mais une autre méthode : ADO, je te passe un code dès que j'ai un instant
      0
    2. kgigant Messages postés 223 Statut Membre 9
       
      merci d'avance
      0
    3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bonjour,

      Il faudrait que tu m'envoie un de tes fichiers texte pour faire des essais
      Si tu crains pour la confidentialité, mets le en message personnel

      au fait, où mets tu les importations des Txt: tu demandes la cellule A1 mais tu me parles d'une 100taine de fichiers...
      0
    4. kgigant Messages postés 223 Statut Membre 9
       
      bonjour, je te prépar le fichier pour demain, je n'y ai pas accès aujourd'hui.
      merci
      0
  8. kgigant Messages postés 223 Statut Membre 9
     
    Bonjour,

    Il est vrai que j'ai un petit problème de confidentialité, comment je fais pour le mettre en message personnel ?
    Comme ça je t'envoi mon fichier excel ainsi que quelques fichiers texte que je dois importer.

    Merci
    (Désolé pour mon temps de réponse mais j'ai du faire face au virus du "gendarme")
    0
  9. kgigant Messages postés 223 Statut Membre 9
     
    Quelqu'un peut m'aider ? SVP
    0