Problème d'affichage CSV lors de la sauvegarde

Bonjour,

J'ai toujours un problème dans la sauvegarde d'une feuille spécifique en csv, grâce à ce code je peux actuellement sauvegarder la feuille DATA_SHEET en csv dans n'importe quel dossier que l'utilisateur peu choisir. Mais j'ai un problème car les données sauvegarder ne sont pas conforme, toutes les données sont affichés sur une seule colonne au lieu d'être sous forme de tableau colonne par colonne, ligne par ligne. (Compliquer de gérer le format CSV )

Public Sub CSV_Specifique()

Dim FileName As String
FileName = Application.GetSaveAsFilename(FileFilter:="Excel Files (*.csv), *.csv")

    If FileName = "False" Then
        MsgBox "No filename specified!", vbExclamation
    Else
    Sheets("DATA_SHEET").Select
    ActiveSheet.Copy

    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs FileName:=FileName, FileFormat:=xlCSV
    ActiveWorkbook.Close SaveChanges:=False
    Application.DisplayAlerts = True

    End If

End Sub
capture1 capture2

J'aimerai savoir si y a moyen de conserver l'affichage de l'image une lors de la sauvegarde ?

Je vous remercie d'avance pour votre aide.

Bonjour Gwhaou

Je ne m'étais pas bien expliqué la dernière fois, et je ne t'avais pas aidé jusqu'au bout, je vois que tu réouvres le même sujet, et j'espère avoir toutes les informations pour toi

En effet, un fichier CSV avec des virgules, lorsqu'on l'ouvre via l'explorateur de fichier, il est associé à Excel, et le paramètres de séparateur est le point-virgule (pour Windows français) et la virgule pour un Windows Anglais. Donc pour nous, le fichier CSV avec séparateur Virgule s'ouvre sur une seule colonne.

De même le fichier s'ouvre sur sur une seule colonne en utilisant dans Excel le menu Fichier/Ouvrir .

En ouvrant sous Excel, avec Ouvrir sur le PC, et en choisissant le type 'Fichier texte (*.prn;*.txt;*.csv), cela fonctionnait dans les versions précédentes de excel mais plus maintenant.

Aujourd'hui une méthode d'ouverture est, dans le menu Excel "Données/ Obtenir des données/ A partir d'un fichier Texte/ CSV", Excel lance PowerQuery, il faut valider "Charger et fermer" et les données apparaissent bien alors sous forme d'un tableau de X colonnes (ici X=4 colonnes)

Je ne sais pas où est passé le module "Assistant Import de données" que je connaissais dans les versions précédentes d'Excel. (Je suis sous Excel365)

Pour démarrer l'assistant d'import et ouvrir sur plusieurs colonnes, il faut apparemment renommer préalablement le fichier CSV en TXT. D'où l'idée peut-être d'enregistrer au format CSV mais avec une extension TXT. A vérifier.

Ce que dit le support Microsoft, attention au traducteur automatique qui se base sur une page faite pour une configuration anglaise

Si j'ai bien compris, dans tous les cas l'utilisation de cette macro affichera les données avec les virgules non comme celui de base sous forme tableau, faut donc passer une modification d'extension TXT.

J'ai compris dans l'ensemble, j'ai actuellement une solution un peu bancale, car avant ce code j'avais une autre macro permettant de sauvegarder cette feuille mais dans un dossier particulier (le chemin est donc prédéfini dans le code :ici dans le bureau ), avec ce code l'enregistrement s'effectue bien en CSV et le format reste le même sous forme de tableau. Je vais donc essayer de bidouiller ce code pour que l'utilisateur puisse choisir le chemin de dossier pour qu'il soit stocker dans une variable que j'ajouterai dans l'emplacement associer au code d'enregistrement :

Public Sub save_CSV()

Application.ScreenUpdating = False

Sheets("DATA_SHEET").Select

Dim N_fichier As Variant
Dim Stock_N As String

On Error GoTo Canceled
N_fichier = InputBox("Veuillez saisir le numéro de la semaine traitée.   Votre fichier sera enregistrer sur votre dossier Programme Planet.", "Sauvegarde de la feuille Programme Planet", "SemaineXX")
  If StrPtr(Nom_Ficher) = 0 Then Exit Sub
  Stock_N = N_fichier

    With ActiveSheet
    .Copy
     ActiveWorkbook.SaveAs "C:\Users\Johnny\Desktop\" & Stock_N & "_" & .Name & ".csv", xlCSV, Local:=True
          ActiveWorkbook.Close False
    .Activate
    End With

Canceled:
Application.ScreenUpdating = True

End Sub

J'utiliserai forcement un DialogFilePicker pour obtenir le chemin du dossier et que je remplacerais à la place de "C:\Users\Johnny\Desktop\" .

Je vous remercie encore du temps que vous avez consacrer pour m'aider

Je vous tiendrai au courant de l'avance, merci encore

Rechercher des sujets similaires à "probleme affichage csv lors sauvegarde"