web-dev-qa-db-fra.com

Comment enregistrer une feuille de calcul Excel en tant que fichier de valeurs séparées par des points-virgules?

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.

25
Kamilski81

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.

18
Robert

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.

7
wmz

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:

  1. Ouvrez votre fichier xlsx/csv
  2. Fichier -> Enregistrer sous ...
  3. Choisissez "Filtre CSV" comme filtre (devrait être la valeur par défaut si votre nom de fichier se termine par .csv)
  4. Cochez "Modifier les paramètres de filtre" et cliquez sur Enregistrer.
  5. Quand il vous demande de confirmer le format du fichier, cliquez sur "Utiliser le format texte CSV"
  6. Changez le "délimiteur de champ" en un point-virgule (vous pouvez taper n'importe quoi ici).
  7. Appuyer sur OK.

LO Calc gère correctement les virgules et les points-virgules dans les valeurs de cellule.

5
naught101

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,

3
Michael

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
3
user157938

Vous pouvez modifier le séparateur globalement via Personnaliser le format.

Accédez à Région et langue, ouvrez Région, sous Formats de feuille d’onglet, cliquez sur le bouton Paramètres supplémentaires et, dans Numéros de feuille d’onglet, modifiez la valeur du séparateur de liste:

 

2
Santa Fee

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.

0
warthog

Vous pouvez le faire facilement en 4 étapes avec la fonction de concaténation d'Excel.

  1. 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.

  2. 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...)

  3. Copiez et collez la formule obtenue dans toutes les lignes de données.

  4. 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.

0
Greg Cavanaugh

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 !!!

0
user318853