[EXCEL] Ouvrir un fichier .CSV de façon "stupide" ?

Ouvrir un fichier .CSV de façon "stupide" ? [EXCEL] - Logiciels - Windows & Software

Marsh Posté le 15-06-2007 à 10:21:56    

Bonjour,
 
Je vous explique mon problème : j'ai une appli qui me génère un fichier .csv, qui, ouvert dans notepad par exemple, contient ceci :
 

Citation :

olivier;00223603;55.6;55,8;00789000000000001


 
Une fois ouvert dans Excel (version 2002 SP3), les données sont remises en forme automatiquement :
 

Citation :

olivier         223603         55.6         55,8         7.89E+14


 
Comment puis-je supprimer cette mise en forme autmatique pour TOUS mes fichiers .csv (autrement dit, que le contenu des fichiers .csv soit toujours traité comme des chaînes de caractères) ?
Merci pour votre aide, Excel est en trainde me faire péter une durite là [:osweat]

Reply

Marsh Posté le 15-06-2007 à 10:21:56   

Reply

Marsh Posté le 15-06-2007 à 15:48:43    

Bonsoir,
Données->données externes->importer
choisir séparateur ;  et pour chaque colonne cocher format texte
Cordialement
 

Reply

Marsh Posté le 15-06-2007 à 16:33:26    

Merci, j'essaierai :jap:
Sinon, y'a pas moyen de faire ça automatiquemen à l'ouverture du fichier ? Genre, si qqu'un a un lien vers une macro, ou autre... :whistle:

Reply

Marsh Posté le 15-06-2007 à 20:57:15    

Bonsoir,
 
Sub Macro3()
'
' Macro2 Macro
' Macro enregistrée le 15/06/2007 par PAPOU
'
Dim var1, var2, var3
var1 = "C:\toto\"  'disque ou disque/répertoire pour se positionner
var2 = "All Files (*.*)|*.*|CSV Files (*.csv)|*.csv"
 
 
 
aaa = BrowseForFile(var1, var2)
' pstrPath = var1 le chemin
' pstrFilter = var2 soit le type de fichiers recherché
If aaa <> "" Then
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & aaa, Destination:=Range("A1" ))
        .Name = "essaicsv"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    End If
End Sub
 
 
 
Function BrowseForFile(pstrPath, pstrFilter)
Set objDialog = CreateObject("UserAccounts.CommonDialog" )
objDialog.Filter = pstrFilter
'objDialog.Filter = "All Files (*.*)|*.*|CSV Files (*.csv)|*.csv"
 
objDialog.InitialDir = pstrPath
objDialog.Flags = &H80000 + &H4 + &H8   'position de la fenêtre
intResult = objDialog.ShowOpen
BrowseForFile = objDialog.Filename 'récupération du nom du fichier sélectionné
End Function
 
 
Cordialement

Reply

Marsh Posté le 16-06-2007 à 14:08:49    

O_o
Ben dis donc, merci beaucoup, c'est très sympa !
J'essaie ça dès que je reviens au boulot :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed