Créer un fichier CSV

DOUPEUX

XLDnaute Nouveau
Bonjour à tous,

Je vous remercie déjà de pouvoir poser ma question.

ma fonction ci-dessous à pour mission de me générer un fichier.csv. Ce fichier .CSV est censé ensuite être intégrer dans une moulinette (outil interne à mon entreprise) afin de me sortir un tableau tout propre que je peux à mon tour exporter...

Le souci c'est que je génére bien un fichier csv, il me recopie plusieurs fois dans le fichier csv, les 2 colonnes d'un fichier xls. il n'y a pas de boucle iterative qui lui demanderait de copier plusieurs fois.

Je vous laisse mon code :

je vous remercie par avance pour l'ensemble des personnes qui m'aideront à traiter ce souci.

VB:
 Public Function generationCSV(NomFich As String)

MsgBox "generation de la feuille de traitement sppac"
'nous allons chercher les informations de la base horaires pour extraire des données afin de les inserer dans couverture circulation new

Sheets("BaseHoraires").Select

Dim nblignes As Integer
nblignes = Sheets("BaseHoraires").Range("A65536").End(xlUp).Row
Dim CompteurSppac As Integer

CompteurSppac = 1

    For i = 2 To nblignes
   
        ' je copie la date dans le tableau
         Sheets("FeuilleSpaac").Cells(CompteurSppac, 1) = Sheets("BaseHoraires").Cells(i, 6)
        
             With Sheets("FeuilleSpaac").Cells(CompteurSppac, 1)
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlCenter
                .WrapText = False
                .Orientation = 0
                .AddIndent = False
                .IndentLevel = 0
                .ShrinkToFit = False
                .ReadingOrder = xlContext
                .MergeCells = False
                .NumberFormat = "d/m/yy;@"
               
            End With
       
       
       
       
        ' je copie le numero du train
         Sheets("FeuilleSpaac").Cells(CompteurSppac, 2) = Sheets("BaseHoraires").Cells(i, 5) & ","
        
        
            With Sheets("FeuilleSpaac").Cells(CompteurSppac, 2)
               .HorizontalAlignment = xlCenter
               .VerticalAlignment = xlCenter
               .WrapText = False
               .Orientation = 0
               .AddIndent = False
               .IndentLevel = 0
               .ShrinkToFit = False
               .ReadingOrder = xlContext
               .MergeCells = False
           
            End With
        
 
       
        CompteurSppac = CompteurSppac + 1
                
    Next
   
Sheets("FeuilleSpaac").Select

'le transfert de données est finie
'je cree le fichier csv pour integration sppac

nblignes = 1

Do While Sheets("FeuilleSpaac").Cells(nblignes, 1).Value <> ""

    nblignes = nblignes + 1

Loop


   
    'je créer un nouveau workbook
    'Workbooks.Add
   
    Set NewBook = Workbooks.Add
        With NewBook
            .Title = "FichierSppac"
            .Subject = "Fichier pour le controle des ressources ADC et ASCT"
            .SaveAs Filename:="C:\Users\8105494v\Desktop\LeFichierSppac", FileFormat:=xlCSV
           
    End With
   
    'je copie
    Windows(NomFich).Activate
    Sheets("FeuilleSpaac").Select
    Range("A1:B75").Select
    Selection.Copy
     
    MsgBox "a"
   
    'je colle
    Windows("LeFichierSppac.csv").Activate
    Sheets(1).Select
    Rows("1:1").Select
    ActiveSheet.Paste
    ActiveWorkbook.Save
   
    MsgBox "b"
   
   
       
    Application.CutCopyMode = False
    Application.DisplayAlerts = False
    'ActiveWorkbook.SaveAs Filename:="FichierSppac", FileFormat:=xlCSV, CreateBackup:=False
   
    'Selection.Copy
     
    ActiveWindow.Close

   
MsgBox "le fichier sppac est crée sur votre bureau"

End Function
 

DOUPEUX

XLDnaute Nouveau
Bonjour,

Oui, j'ai juste un souci c'est que ce sont des données que je ne dois pas transmettre. je ne peux vous donner qu'un fichier fortement nettoyé.

J'ai 5 feuilles sur un classeur, l'une est générale comprend toutes les données sensibles,
Les 3 autres viennent chercher des infos dans le premier tableau.
la dernière feuille, reprend deux colonnes. la première une date, le deuxième un numéro.

Mon classeur joint comprend juste, cette dernière feuille. C'est celle-ci que j'aimerais convertir en csv avec juste cette feuille sans la macro jointe et surtout sans recopie de ces deux colonnes.
 

Pièces jointes

  • ContrôleSemaineRessources_Exemple.xlsm
    35.2 KB · Affichages: 14

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

@DOUPEUX
C'est celle-ci que j'aimerais convertir en csv avec juste cette feuille sans la macro jointe et surtout sans recopie de ces deux colonnes.[
J'ai du mal à comprendre
1) S'il ne faut pas exporter les deux colonnes, alors que faut-il exporter ???
2) Quel doit-être le séparateur du CSV ? , ou ; ?
3) A quoi sert la virgule ajouté en fin de chaîne dans la colonne 2 ?
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

@DOUPEUX
1) Il t'est pas venu à l'idée de venir nous prévenir que ton problème était résolu... :rolleyes:
(Histoire qu'on cesse de perdre du temps à tester du code VBA pour une question que tu as solutionnée)

2) A la suite de cette première idée que tu n'as pas eu, tu aurais pu en avoir une seconde ;)
Partager ici ta solution (pour le bénéfice de la communauté des xldnautes)

Mais il n'est pas trop, et c'est tout bête à faire que de débrouiller ce manque de feedback ;)
 

DOUPEUX

XLDnaute Nouveau
Bonjour,
Je reviens sur le site,
Je suis désolé d'avoir pu énervé certaines personnes.
Je ne sais pas dire que ma conversation est résolue.
Pour le partage de ma solution, je ne peux hélas encore une fois répondre favorablement, si je vous dit que l'erp dans lequel je mets mon csv avait un problème de virgule et que finalement, il ne s'agissait que de cela comme problème, je ne suis pas sûr que cela aide beaucoup de monde et que cela intéressant que j'en parle.

Voila, Merci pour votre aide, je suis reconnaissant.
Bonne fin de journée.
 

Discussions similaires

Statistiques des forums

Discussions
311 729
Messages
2 081 971
Membres
101 852
dernier inscrit
dthi16088