Ouvrir un fichier .dat dans Excel et sauvegarder en .xls

Résolu
bassmart Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   -  
bassmart Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerais faire une macro pour ouvrir un fichier .dat dans excel, ensuite lui appliquer quelques mise en formes sur les lignes et colonnes pour terminer à le sauvegarder en .xls.

J'ai fait quelques recherches et quelques essais, je n'ai pas trouvé exactement ce que je voulais!

J'ai enregistrer une macro avec l'aide pour voir les opérations effectués dont voici le code:
Workbooks.OpenText Filename:= _
        "C:\Entrepot\BDFS\1_Piézomètres\1-Basses-Terres du Saint-Laurent\Cordes vibrantes\St-Prosper\Fichiers DAT\test.dat" _
        , Origin:=932, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
        Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
        Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array(15 _
        , 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
        Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1), Array( _
        28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array(33, 1), Array(34, 1), _
        Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), Array(40, 1), Array( _
        41, 1)), TrailingMinusNumbers:=True


Et voici ce que j'ai essayé:
Private Sub CommandButton1_Click()
Dim oFso As Object, oTxtStream As Object
Dim pathFichierDat As String, lignesFichierDat() As String, iLigne As Long
 
    pathFichierDat = "M:\Entrepot\BDFS\1_Piézomètres\test.dat"
 
    'ouvrir le fichier .dat (en lecture seule)
    Set oFso = CreateObject("Scripting.FileSystemObject")
    Set oTxtStream = oFso.OpenTextFile(pathFichierDat, 1)
 
    'récupérer dans un tableau chaque ligne du fichier .dat
    lignesFichierDat = Split(oTxtStream.ReadAll, vbNewLine)
End Sub
 


Merci pour votre aide!


A voir également:

2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,
je n'ai pas trouvé exactement ce que je voulais!
Si ces codes ne conviennent pas, dites ce que vous vouliez en resultat !!!!!
1
bassmart Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   1
 
Re,

Le code que j'ai trouvé ne fonctionne pas, il ne m'ouvre pas le fichier test.dat dans une feuille excel.

En bout de ligne, ce que je veux c'est de pouvoir ouvrir le fichier .dat de mon choix par boîte de dialogue.

Merci!
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
0
bassmart Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci beaucoup pour la réponse!

Il ouvre effectivement le fichier .dat mais ne fait aucune mise en forme. Est-ce possible de l'ouvrir et d'effectuer les même manipulations qu'en manuel. Délimité et déterminé le type de séparateur par la virgule?

Merci!
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780 > bassmart Messages postés 281 Date d'inscription   Statut Membre Dernière intervention  
 
Il suffit de modifier la macro, le délimiteur virgule c'est le format csv anglais (avec .dat au lieu de .csv) !!
0
bassmart Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   1 > Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

Ça ne fonctionne pas! Voici le changement:
Select Case strType
    Case "en.csv"
      strExtension = ".dat"
      intFormat = 2            'Csv anglais : virgule
      blnLocal = False


Est-ce bien ça?
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780 > bassmart Messages postés 281 Date d'inscription   Statut Membre Dernière intervention  
 
Ça ne fonctionne pas! c'est-à-dire ?
0
bassmart Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   1 > Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention  
 
Il ouvre le fichier, mais il n'y a pas de mise en page en colonne en utilisant les virgules comme séparateur.
0