Excel et fichier.txt avec separateurs

Résolu
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013 - 3 mars 2005 à 12:29
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013 - 7 mars 2005 à 13:05
bonjour,



g un nouveau probleme, voila j'utilise la fonction ci-dessous pour convertir un fichier txt en xls.



Public Sub ConvertirEnExcel(fichier As String)

Dim objXL As Object

Screen.MousePointer = 11

Set objXL = CreateObject("Excel.Application")

With objXL

objXL.Visible = False

objXL.Workbooks.OpenText FileName:=fichierfinal, Semicolon:=True, DataType:=xlsdelimited

objXL.Application.DisplayAlerts = False

objXL.ActiveWorkbook.SaveAs FileName:=Left(fichierfinal, Len(fichierfinal) - 4) & ".xls"

objXL.Workbooks.Close

objXL.Application.Quit

End With

Screen.MousePointer = 1

End Sub

ca marche dans le sens ou mon fichier txt se
retrouve dans une feuille xls dans la 1er colonne avec chaque ligne du
fichier txt dans chaque cases de la dite colonne... vous me suivez?



le probleme c que dans ce fichier txt il y a le separateur ";" comme suit:



blablablabla;blobloblbo

blabla;bloblobloblo

blablabla;bloblo



et je voudrais que les "blabla" soit dans la colonne 1 et les "bloblo" dans la colonne 2. et ca marche pas meme en utilisant:



objXL.Workbooks.OpenText FileName:=fichierfinal, Origin:=xlWindows, _

StartRow:=2, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _

ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False,
Space:=False, Other:=False, FieldInfo:=Array(1, 1),
TrailingMinusNumbers:=True



ca m'ecrit " la methode OPEN TEXT de la classe workbooks a echoué", donc si qq1 a une idée

merci

3 réponses

phenrent76 Messages postés 13 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 3 mars 2005
3 mars 2005 à 22:31
Si ca peux te rendre service voici un bout de code ....


Private Sub Command5_Click()<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />


Dim AppExcel As Excel.Application


Dim Fichier_txt As String


Dim Fichier_xls As String


Dim fichier As String


Dim Res1 As String


Dim rep As Long





chaine = NameFich


'


If NameFich = "" Then


Else


fichier = Right(chaine, Len(chaine) - InStrRev(chaine, "", -1, 1))


Res1 = Left(chaine, Len(chaine) - 4)


If fichier = "NomFichier.txt" Then


'nom des fichiers


Fichier_txt = chaine


Fichier_xls = Res1 & ".xls"


'vérif si le fichier xls existe déjà


If Dir(Fichier_xls) <> "" Then


rep = MsgBox("le fichier : " & Fichier_xls & " existe déjà, voulez-vous l'écraser ?", vbQuestion + vbYesNo)


Select Case rep


Case vbYes


Kill Fichier_xls


Case vbNo


Exit Sub


End Select


End If


'création d'un objet Excel


Set AppExcel = CreateObject("Excel.Application")


With AppExcel


'import du fichier texte dans excel avec champs séparés par ";"


.Workbooks.OpenText FileName:=Fichier_txt, Semicolon:=True, _


FieldInfo:=Array(Array(1, 2), Array(2, 2), _


Array(3, 4), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 2), _


Array(10, 2))


‘le field info permet de garder le formatage des donnees txt.


‘Array(Array(1, 2) – correspond à (colonne, format texte)


‘Array(3, 4) – correspond à (colonne 3, format date) – etc…


'sauvegarde du classeur xls


.ActiveWorkbook.SaveAs FileName:=Fichier_xls, FileFormat:=xlNormal


.Quit


End With





'libération de la mémoire utilisée


Set AppExcel = Nothing


MsgBox "création " & Fichier_xls & " terminé ! "


Else


MsgBox " Fichier chargé non compatible ! "


End If


End If


End Sub

remerciement à Loup Gris ( canislipus ) qui m'a dépanné en grande partie de ce
code
cordialement
3
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
3 mars 2005 à 18:25
Salut,
as tu essayer en rajoutant juste
Semicolon:=True
qui va indiquer juste que tu utilises le Point-Virgule
Noublie pas de vider la mémoire en quittant

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013
7 mars 2005 à 13:05
merci pour vos reponses, pour info " valtrase" g bien essayé avec "semicolon:=true" mais ca marche pas ????

donc g pris une partie du code de phenrent76 et ça roule donc merci
0
Rejoignez-nous