cs_julien0000
Messages postés9Date d'inscriptionjeudi 26 juin 2008StatutMembreDernière intervention30 juin 2008
-
27 juin 2008 à 13:28
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
28 juin 2008 à 22:12
bonjour,
quand j'essayes d'ouvrir un fichier.csv avec VBA, le fichier n'apparait pas sous forme de tableau mais le contenu des cases est séparé par des ; et disposé comme un fichier texte.
exemple: NOM;PRENOM;AGE
Durand;Marcel,65
j'ai vu des discussions qui parlaient de ce sujet mais je n'ai pas réussi à résoudre mon problème...
existe-t-il une solution pour ouvrir ce fichier "normalement" ou une méthode pour convertir ce fichier directement en fichier.xls?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 27 juin 2008 à 13:48
Trouvé dans une autre discution d'il y a un mois à quelques jours près :
Workbooks.OpenText Filename:Nom du fichier , Origin:xlWindows, _
StartRow:= 1, DataType:=xlDelimited, Semicolon:=True
Dim NomFichier
Dim FichiersChoisis As String
Dim remplace As String
remplace = ".txt"
FichiersChoisis = ""
FichiersChoisis = c:\\repertoire\file.txt
If FichiersChoisis <> "" Then
'Ouverture du fichier text
Workbooks.OpenText FileName:= _
FichiersChoisis, _
Origin:=xlWindows, _
StartRow:=1, _
DataType:=xlDelimited, _
TextQualifier:= _
xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=False, _
Semicolon:=True, _
Comma:=False, _
Space:=False, _
Other:=False
' On enlève l'adresse complète du fichier et on garde son nom
FichiersChoisis = Mid(FichiersChoisis, InStrRev(FichiersChoisis, "") + 1)
'On active le classeur
Windows(FichiersChoisis).Activate
'On supprime le *.txt pour pouvoir sélectionne la feuille
FichiersChoisis = Replace(FichiersChoisis, remplace, "")
Sheets(FichiersChoisis).Select
'On sélèctionne les parties du tableaux qui nous intéresse
NomFichier = Range("A1:AM10000").Value
'On sélèctionne le dossier ou l'on veux déplacer notre ficher .txt
'Windows("nouveau fichier.xls").Activate
'On remplace
'Sheets("sheet1").Range("B17:AN10000").Value = NomFichier
End If