J'utilise Excel et souhaite exporter mon fichier au format .scsv (valeurs séparées par des points-virgules) au lieu d'un fichier .csv. Y a-t-il un moyen de faire ça?
ps. Je ne peux pas créer de fichier .csv, rechercher et remplacer les virgules par des points-virgules, car les champs contiennent déjà des virgules.
Pourquoi ne pas utiliser Tab Delimited et remplacer les onglets par des points-virgules?
Dans Excel: Fichier -> Enregistrer sous -> dans Format, sélectionnez "Texte délimité par des tabulations (.txt)", puis sa sauvegarde.
Ouvrez le fichier dans le bloc-notes et ouvrez la fenêtre de remplacement. Comme vous ne pouvez pas passer directement dans cette fenêtre, copiez un onglet de votre document, puis collez-le dans la zone Rechercher et mettez votre; dans la boîte de remplacement. Puis remplacez tout.
Je suppose que cela fonctionnerait, car il est très rare d’avoir des onglets dans un document Excel.
Je ne pense pas que vous puissiez définir le séparateur de sortie directement dans Excel, mais (en supposant que Windows), vous pouvez changer le séparateur de liste de systèmes d'exploitation en ;
- cela est fait dans Regional Settings->Customize
. Excel utilisera ce paramètre pour générer vos fichiers csv.
Utilisez LibreOffice Calc (téléchargement gratuit, fonctionne sur tous les principaux systèmes d’exploitation).
Pour enregistrer des valeurs séparées par des points-virgules:
.csv
)LO Calc gère correctement les virgules et les points-virgules dans les valeurs de cellule.
Pour changer de virgule en point-virgule en tant que séparateur Excel par défaut pour CSV - allez à Région -> Paramètres supplémentaires -> onglet Numéros -> Séparateur de liste et type; au lieu de la valeur par défaut,
Si vous souhaitez un script, collez le texte suivant dans un module.
Option Explicit
Sub export2scsv()
Dim lastColumn As Integer
Dim lastRow As Integer
Dim strString As String
Dim i As Integer, j As Integer
lastColumn = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count
lastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
Open "output.scsv" For Output As #1
For i = 1 To lastRow
Cells(i, 1).Select
strString = ""
For j = 1 To lastColumn
If j <> lastColumn Then
strString = strString & Cells(i, j).Value & ";" ' Use semicolon instead of pipe.
Else
strString = strString & Cells(i, j).Value
End If
Next j
Print #1, strString
Next i
Close #1
End Sub
Si votre liste de valeurs se trouve dans la colonne A, essayez ceci - Cellule B2 = A1 & ";" & A2 Cellule B3 = B2 & ";" & A3 Copiez la cellule B3 en bas de votre liste. Si vous copiez et collez la dernière cellule de votre liste en tant que valeurs, votre liste sera alors séparée par des points-virgules. Vous pouvez ensuite copier cela dans le Bloc-notes, Word ou partout où vous le souhaitez.
Vous pouvez le faire facilement en 4 étapes avec la fonction de concaténation d'Excel.
Dans votre fichier, ajoutez une colonne de points-virgules à l'endroit où vous vous attendez à ce qu'ils aboutissent dans une exportation au format .csv.
Commencez une nouvelle colonne à la fin de vos données et dans la première ligne, utilisez la fonction =concatenate()
. Assurez-vous de sélectionner toutes les cellules que vous souhaitez voir apparaître dans le fichier final. Votre formule ressemblera à =concatenate(A1,A2,A3...)
Copiez et collez la formule obtenue dans toutes les lignes de données.
Sélectionnez toute la colonne de formules et Coller spécial -> Valeurs dans la colonne voisine. Vous avez maintenant toutes vos données délimitées par des points-virgules.
Enfin, exportez dans le format de fichier de votre choix. Si vous exportez ceci au format .txt dans Windows, vous pouvez simplement changer l’extension de fichier en .csv car les deux formats sont du texte brut.
1.> Changer le format de fichier en .CSV (délimité par des points-virgules)
Pour obtenir le résultat souhaité, nous devons modifier temporairement le paramètre de délimiteur dans les options Excel.
Déplacer vers un fichier -> Options -> Avancé -> Édition de section
Décochez la case «Utiliser les séparateurs système» et mettez une virgule dans le champ «Séparateur décimal».
Maintenant, enregistrez le fichier au format .CSV et il sera sauvegardé au format délimité par des points-virgules !!!