Probleme d'import de fichier texte dans macro

Résolu/Fermé
byakuya75 Messages postés 3 Date d'inscription samedi 26 juillet 2008 Statut Membre Dernière intervention 26 juillet 2008 - 26 juil. 2008 à 11:46
byakuya75 Messages postés 3 Date d'inscription samedi 26 juillet 2008 Statut Membre Dernière intervention 26 juillet 2008 - 26 juil. 2008 à 15:04
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
A voir également:

3 réponses

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
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
algoplus > algoplus
26 juil. 2008 à 13:23
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
byakuya75 Messages postés 3 Date d'inscription samedi 26 juillet 2008 Statut Membre Dernière intervention 26 juillet 2008
26 juil. 2008 à 13:30
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
byakuya75 Messages postés 3 Date d'inscription samedi 26 juillet 2008 Statut Membre Dernière intervention 26 juillet 2008
26 juil. 2008 à 15:04
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