Probleme d'import de fichier texte dans macro

Résolu
byakuya75 Messages postés 3 Statut Membre -  
byakuya75 Messages postés 3 Statut Membre -
Bonjour,
J'ai un soucis avec une Macro Excel et j'arrive pas à debogguer le programme, pouvez-vous m'aidez svp? Le but de la macro est d'importer le contenu d'un fichier texte sur une page de calcul, la macro s'execute sans afficher de message d'erreur mais il n'apparait rien sur la feuille de calcul, je crois que l'erreur est au niveau de Range(). Pour information mon fichier texte a 50 lignes et 2 colonnes, les colonnes étant séparées de tabulation. Le code est le suivant :

Sub ImportFichier()
' On importe le fichier
With ActiveSheet.QueryTables.Add(Connection:="TEXT;"­ & "C:\Documents and Settings\Mouss\Bureau\Macro_excel\lois_initiales\" & "beta1.txt", Destination:=Range("A1"))
' Les paramètres de l'import des données
.Name = "beta1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
End With
End Sub

Merci bien,
cordialement

3 réponses

  1. algoplus
     
    J'ai essayé ca et ca marche (je n'ai pas testé avec le même chemin de fichier)

    With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\Documents and Settings\Mouss\Bureau\Macro_excel\lois_initiales\beta1.txt", Destination:=Range("A1"))
    .TextFileStartRow = 1
    .Refresh
    End With
    0
    1. algoplus
       
      Une erreur s'est glissée dans le copier coller, normalement c'est mieux:

      With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\Docume­nts and Settings\Mouss\Bureau\Macro_excel\lois_initiales\beta1.txt", Destination:=Range("A1"))
      .TextFileStartRow = 1
      .Refresh
      End With
      0
      1. algoplus > algoplus
         
        Bon décidement ca ne veux rien savoir
        je ne refait pas tout , il faut remplacer &q­uot; par " (si ca veux passer cette fois)
        0
  2. byakuya75 Messages postés 3 Statut Membre
     
    Merci algoplus,
    Mais ça marche toujours pas... la commande .Refresh entraine un msg d'erreur. J'ai essayé mon ancien code en ajoutant .TextFileStartRow = 1 mais ça marche toujours pas...
    0
  3. byakuya75 Messages postés 3 Statut Membre
     
    Pb résolu,
    Il faut remplacer la ligne

    .TextFileParseType = xlFixedWidth

    Par

    .TextFileParseType = xlDelimited

    qui correspond au choix Fixe ou Délimité lorsque tu fais un import de fichier texte.

    Il faut aussi rajouter la commande

    .Refresh BackgroundQuery:=False

    merci
    0