Probleme d'import de fichier texte dans macro [Résolu/Fermé]

Signaler
Messages postés
3
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
26 juillet 2008
-
Messages postés
3
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
26 juillet 2008
-
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

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
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
> 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)
Messages postés
3
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
26 juillet 2008

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...
Messages postés
3
Date d'inscription
samedi 26 juillet 2008
Statut
Membre
Dernière intervention
26 juillet 2008

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