Création d' un fichier sans l ouvrir

bonjour à tous. J ai cherché partout comment faire mais je n ai pas trouvé d explications.

je travail sur un fichier Excel VBA. A un moment, mon programme créer deux csv avec écris dans chacun 1 ligne et 5 colonnes. Ces deux fichiers sont différents ils sont dailleurs nommés dynamiquement et placés dans des dossiers différents. Ces fichiers sont des Csv

actuellement mon programme les ouvre écris devant puis les enregistrent et les ferment. Tout fonctionne correctement mais je suis pointilleux.

y a t il un moyen pour que mes deux fichiers soit créer sans les ouvrir ? J ai entendu ADODB pourrait me convenir mais j avou que j y comprends pas grand chose... Je vous remercie d'avance

Par contre je ne vous cache pas que mon programme est fonctionnel. C'est juste que niveau rapidité sa met 5 secondes et sa ouvre les fichiers maintenant ne serais ce pas plus intéressant de juste ouvrir écrire sauvegarder mais sans que l utilisateur le voit ?

Il clique sur un bouton, sa créer les deux fichiers les sauv, puis lui met un message : Transferts effectués seul le msgbox serait visible

Bonjour,

Pour rappel un fichier csv est un simple fichier texte. Il est alors simple de produire un csv en utilisant les méthodes simples d'écriture de .txt

Voici un exemple simplet : qq lignes, 5 colonnes et un bouton qui produit un .csv par ligne contenant le contenu des 5 colonnes sur une ligne, nommé avec le prénom de la colonne A

Le code :

Sub Demo()
Dim S As String, Ndf As String
Dim f As Integer, i As Integer, j As Byte

    For i = 2 To 7
        S = ""
        For j = 1 To 5
            S = S & Sheets("Feuil1").Cells(i, j).Value & ";"
        Next j

        Ndf = ThisWorkbook.Path & "\" & Sheets("Feuil1").Cells(i, 1).Value & ".csv"

        f = FreeFile()
        Open Ndf For Output As #f
        Print #f, S
        Close #f
    Next i
    MsgBox "Transferts effectués"
End Sub

Il me semble que la vitesse d'exécution est assez rapide

Pierre

Rechercher des sujets similaires à "creation fichier ouvrir"