Conversion fichier

Résolu/Fermé
CALI - 16 oct. 2015 à 10:29
 CALI - 16 oct. 2015 à 11:42
bonjour,

Comment convertir rapidement un fichier CSV en XLS sans passer par données, convertir, etc...........

Par avance, merci pour vos conseils.

Cordialement,
A voir également:

4 réponses

Goldister Messages postés 6 Date d'inscription vendredi 16 octobre 2015 Statut Membre Dernière intervention 26 octobre 2015 2
16 oct. 2015 à 10:53
0
bonjour,

Comme je le stipule dans mon message, je voudrais éviter de passer par données, convertir, etc............ et le lien auquel vous faites référence est la même chose.

Avez vous une autre piste peut-être par VBA ou autre.

Merci
0
Goldister Messages postés 6 Date d'inscription vendredi 16 octobre 2015 Statut Membre Dernière intervention 26 octobre 2015 2
Modifié par Goldister le 16/10/2015 à 11:09
Il existe un site pour convertir les fichiers excel : https://convertio.co/fr/xls-csv/
0
Bonjour
tu peux aussi faire une macro
exemple a mettre dans un module
Private Sub ChoixFicCsv()
Dim dossier As FileDialog
ChoixChemin = ActiveWorkbook.Path & Application.PathSeparator
   Set dossier = Application.FileDialog(msoFileDialogFilePicker)
      With dossier
         .AllowMultiSelect = False
         .InitialFileName = ChoixChemin
         .Title = "Choix d'un fichier CSV"
         .Filters.Clear
         .Filters.Add "Fichier Csv ", "*.csv", 1
            If .Show = -1 Then
               Chemin = .SelectedItems(1)
               LireTxt Chemin
            End If
      End With
   Set dossier = Nothing
End Sub

Private Sub LireTxt(NomFichier)
Dim Ar() As String
   With Application
      .ScreenUpdating = False
      .EnableEvents = False
      .Calculation = xlManual
   End With
Feuil1.Select
Cells.Select
Selection.ClearContents
'Sep = vbTab
'Sep = "|"
'Sep = ";"
Sep = ","
Lig = 1
' -----------------------------------------
    Open NomFichier For Input As #1
        Do While Not EOF(1)
            Line Input #1, Chaine
               Ar = Split(Chaine, Sep)
               Col = 1
                  For X = LBound(Ar) To UBound(Ar)
                     Cells(Lig, Col) = Ar(X)
                     Col = Col + 1
                  Next
            Lig = Lig + 1
        Loop
    Close #1
' -----------------------------------------
   With Application
      .ScreenUpdating = True
      .Calculation = xlCalculationAutomatic
      .EnableEvents = True
      .CutCopyMode = False
      .Goto [A1], True
   End With
End Sub

A+
Maurice
0
merci
0
merci encore une fois
0