Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Aide macro VBA pour export CSV

bebuzz

XLDnaute Nouveau
Chers tous,

Nouveau sur ce forum, je me permets de vous demander de l'aide concernant une macro sur un de mes fichiers.

Le souci est que : lors de mon export CSV, les fichiers créés ( et ils le sont bien ) contiennent aléatoirement en début et fin de lignes des " ( guillemets ), quelques lignes sont correctes !

Ma macro crée des feuilles en fonction d'une cellule ( je découpe une feuille de 6000 lignes en feuilles de 200 lignes maximum ), nomme les feuilles pour mon export CSV. Tout fonctionne, jusqu'au fichier CSV qui contient ses fâcheux " ( guillemets ). Ci-dessous ma macro :

Code:
Sub nouvellePages()
Dim sh As Object, cel As Range
Application.ScreenUpdating = False
For Each sh In Sheets
    If sh.Name <> "base" Then
        Application.DisplayAlerts = False
        sh.Delete
    End If
Next sh
Range("A1:A" & [C65000].End(xlUp).Row).Name = "clients"
Range("A1:J" & [C65000].End(xlUp).Row).Name = "mabase"
For Each cel In Range("K1:K" & [C65000].End(xlUp).Row)
cel.Value = Replace(cel.Value, "  ", " ")
cel.Value = Replace(cel.Value, " ;", ";")
' cel.Value = Replace(cel.Value, ", ", "VVV")
Next cel
[L1] = [A1]
    Range("clients").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
        "L1"), Unique:=True
For Each cel In Range("L2:L" & [L65000].End(xlUp).Row)
    Sheets("base").[L2] = cel
    Sheets.Add after:=Sheets(Sheets.Count)
    With ActiveSheet
        .Name = cel
        .[A1].Value = Sheets("base").[B1].Value
        Range("mabase").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets( _
        "base").Range("L1:L2"), CopyToRange:=.Range("A1"), Unique:=False
    End With
Next cel
Sheets("base").Select
Columns(12).ClearContents

Dim she As Worksheet, cell As Range
For Each she In Worksheets
    she.Copy
    
    ' For Each cell In Range("A1:A" & [A65000].End(xlUp).Row)
    ' cell.Value = Replace(cell.Value, "VVV", ", ")
    ' Next cell

    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs fileName:=she.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
    ActiveWorkbook.Close savechanges:=False
    Application.DisplayAlerts = True
'   ActiveWorkbook.Close Savechanges:=False
Next she

End Sub

Si vous avez une once d'idée, je suis preneur.

A+
 

bebuzz

XLDnaute Nouveau
Re : Aide macro VBA pour export CSV

Bonsoir,

Je reviens avec ma demande :

Si je saisi les données à la main dans les cellules, l'exportation est totalement correcte, c'est-à-dire sans les " ( guillemets )

Le problème vient en fait de mon collage depuis un autre fichier XLS dans les cellules. J'ai essayé l'importation, le changement de police, le format, le collage spécial, etc... mais rien n'y fait.

Un fichier XLS contient des colonnes comportant nom, adresse, ville. Je copie les cellules de ce fichier dans mon fichier comportant ma macro. C'est lors de cet export que mes ennuis sont présents, sauf si je remplis à la main....

Mais 6000 lignes avec 6 colonnes à saisir à la main alors que ce fichier existe .....

Toujours en attente de votre aide. Je vais essayé de mettre un fichier exemple, mais pas simple, car les données de test seront remplies à la main et mon problème sera récurrent ...

A+
 

Staple1600

XLDnaute Barbatruc
Re : Aide macro VBA pour export CSV

Re

On a juste besoin d'un petit fichier exemple
Juste de quoi pouvoir tester nos codes VBA avant de te les proposer
Et pour voir si sur nos PC, le phénomène des guillemets parasites se produit aussi.
 

bebuzz

XLDnaute Nouveau
Re : Aide macro VBA pour export CSV

Cher tous,

J'ai mis mon fichier joint ainsi que les données qui coincent. Ces données qui coincent à l'ouverture du CSV créé sont celles qui contiennent des " ( guillemets ) et des , ( virgule ). Cependant, j'ai besoin de ces caractères qui sont important au niveau de l'adressage.

Je vous laisse jeter un oeil et j'attends volontiers le vôtre.
 

Pièces jointes

  • Cree_CSV.xlsm
    234.8 KB · Affichages: 40

Discussions similaires

Réponses
4
Affichages
456
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…