VBA pour exporter en csv qui génère des virgules

Salut tout le monde,

J'ai un fichier excel avec 1000 lignes qui ont une formule qui est soit =si(Validation!A2<>"";Validation!A2;"") en colonne A et =si(A2<>"";maintenant();"") en colonne C
J'ai fait 1000 lignes avec ça car je ne sais pas a l'avance combien de lignes pleines j'aurai dans l'onglet Validation
Pour exporter automatiquement mon fichier en csv, j'ai fait, avec de l'aide, une macro comme suit.
Le csv généré a quand même des ",," a pratir de la première cellule "vide" et jusqu'à la ligne 1000

Une idée de comment faire ?

Je peux envoyer un fichier si nécessaire, mais ça m'arrange si je n'ai pas besoin d'anonymiser ce fichier ^^

Merci d'avance !

Sub Exportresultats()
'replace automatic date and time by fixed values
Columns("A:C").Select
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("A1").Select

'Save active file
ActiveWorkbook.Save

'get the name of the file
Sheets("Variables formules").Select
Dim Name As String
Name = Range("C3").Value & ".csv"

'delete empty cells
Sheets("Export résultat").Select
Dim c As Range, r As Range
Dim rsupplier As Variant
vide = ""
For Each c In Range("A1:C1000")
    If c.Value = vide Then
        If r Is Nothing Then
            Set r = c
        Else
            Set r = Union(r, c)
        End If
    End If
Next c
On Error Resume Next
r.Select
On Error Resume Next
r.Clear

Range("A1").Select

'save file
Sheets("Export résultat").Select
    ActiveWorkbook.SaveAs Name, FileFormat:=xlCSV _
        , CreateBackup:=False
End Sub

Bonjour cossinelle

Une idée de comment faire ?

Oui, supprimer toutes les formules qui concerne des valeurs vides

Car pour Excel, même si le contenu est vide, c'est du contenu.... donc des valeurs séparées par des virgules

@+

Bonjour BrunoM45,

C'est normalement ce que fait ma macro avant d'enregistrer en csv...
Mais je génère 1 à 5 fichiers de ce genre par jour et des gens non initiés a l'informatique doivent l'utiliser, donc un gros bouton qui fait tout est a peu près le seul moyen que le fichier ne crash pas tous les jours ^^

Re,

Effectivement... mais bof

Si ta feuille Validation ne contient que des valeurs, essayes ce code tout simple

Sub ExportResultats()
  Dim Name As String, sPath As String
  Dim dLig As Long
  sPath = ThisWorkbook.Path & "\"
  Name = Sheets("Variables formules").Range("C3").Value & ".csv"
  ' Copier la feuille dans un nouveau classeur
  Sheets("Validation").Copy
  ' Inscrire la date du jour en colonne C
  With ActiveSheet
    dLig = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("C2:C" & dLig).Value = Now()
  End With
  ' l'exporter au format CSV
  ActiveWorkbook.SaveAs sPath & Name, FileFormat:=xlCSV, CreateBackup:=False
End Sub

@+

Rechercher des sujets similaires à "vba exporter csv qui genere virgules"