XL 2010 convertir fichier excel en texte

  • Initiateur de la discussion Initiateur de la discussion jad73
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jad73

XLDnaute Occasionnel
Bonjour le forum
J'ai un fichier excel que je voudrais convertir en fichier texte séparer par point virgule.
Comment faut-il faire.
joint un bout du fichier.
Merci
 

Pièces jointes

Bonjour jad73, le forum

Manuellement, faire comme suit :
ne garder que la feuille avec les données
insérer deux colonnes en BC
sélectionner la colonne A
faire données/convertir
choisir délimité puis séparateur /
mettre les colonnes ABC au format standard
enregistrer au format CSV (séparateur point virgule)

le csv est un fichier texte formaté, vous pouvez le renommer directement en txt.
vous pouvez utiliser l'enregistreur de macro si c'est une tache répétitive.

Bien cordialement, @+
 
Bonsoir jad73, Yeahou,

Oui il vaut mieux utiliser une macro :
VB:
Sub CSV()
Dim chemin$, fichier$, ncol%, tablo, a(), i&, dat, j%
chemin = ThisWorkbook.Path 'dossier à adapter
fichier = "\Fichier CSV.csv" 'nom à adapter
With Feuil2.[A1].CurrentRegion 'matrice, plus rapide
    ncol = .Columns.Count
    If ncol = 1 Then ncol = 2
    tablo = .Resize(, ncol)
End With
ReDim a(1 To UBound(tablo), 1 To ncol + 2)
For i = 1 To UBound(tablo)
    dat = tablo(i, 1)
    If IsDate(dat) Then
        a(i, 1) = Day(dat)
        a(i, 2) = Month(dat)
        a(i, 3) = Year(dat)
    End If
    For j = 4 To ncol + 2
        a(i, j) = tablo(i, j - 2)
Next j, i
'---création du fichier CSV---
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si le fichier CSV a déjà été créé
With Workbooks.Add(xlWBATWorksheet) 'nouveau document
    .Sheets(1).[A1].Resize(UBound(a), ncol + 2) = a
    .SaveAs chemin & fichier, xlCSV, Local:=True 'enregistrement
    .Close 'fermeture
End With
MsgBox "Le fichier CSV a été créé..."
End Sub
Ouvrir le fichier CSV avec le bloc-notes si l'on veut voir les points-virgules.

A+
 

Pièces jointes

Bonjour jad73, Yeahou, le forum,

Une solution nettement meilleure avec ce fichier (2) :
VB:
Sub CSV()
Dim chemin$, fichier$, ncol%, tablo, a(), i&, dat, j%
chemin = ThisWorkbook.Path 'dossier à adapter
fichier = "\Fichier CSV.csv" 'nom à adapter
With Feuil2.[A1].CurrentRegion 'matrice, plus rapide
    ncol = .Columns.Count
    tablo = .Resize(.Rows.Count + 1, ncol) 'matrice, plus rapide, au moins 2 éléments
End With
ReDim a(1 To UBound(tablo) - 1)
For i = 1 To UBound(tablo) - 1
    dat = tablo(i, 1)
    If IsDate(dat) Then a(i) = Format(dat, "d\;m\;yyyy") Else a(i) = dat & ";;"
    For j = 2 To ncol
        a(i) = a(i) & ";" & tablo(i, j)
Next j, i
'---création du fichier CSV---
j = FreeFile
Open chemin & fichier For Output As #j
Print #j, Join(a, vbLf)
Close #j 'fermeture
MsgBox "Le fichier CSV a été créé..."
End Sub
A+
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
615
Réponses
11
Affichages
503
Retour