Probleme d'import de fichier texte dans macro

Résolu
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. 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. 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
    2. @algoplusBon 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. 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
    1. 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