IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

Rajouter des lignes dans un csv sans l'écraser


Sujet :

VBA Outlook

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Rajouter des lignes dans un csv sans l'écraser
    Bonjour,

    j'aimerai récupérer pour chaque mail d'un dossier son sujet et sa date de réception et l'enregistrer dans un fichier .csv
    J'y arrive à l'aide du code ci dessous, cependant si je l’exécute plusieurs fois le contenu de mon csv est "overwrite" (argument TRUE), c'est embêtant si des mails sont supprimés entre temps car je n'aurai plus leurs infos.

    Quelqu'un connait une solution pour rajouter, "append", des lignes à la suite de celles déjà existantes dans mon csv svp ?

    Il faudrait peut être qu'a chaque fois je lise le contenu du csv, le récupère et le réécrive avant d'écrire le reste ensuite, mais c'est un peu lourd ...

    Merci

    Voici mon code actuel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub writeCsv()
     
    Dim myNamespace As NameSpace
    Dim myFolder As Folder
     
    Dim myItem As Object
     
    Dim pathFsoFile As String
    Dim strStream As String
    Dim objFSO As Object
    Dim fsoFile As Object
     
    Set myNamespace = GetNamespace("MAPI")
    Set myFolder = myNamespace.Folders("BAL")
     
    pathFsoFile = "D:\Documents\test.csv"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set fsoFile = objFSO.CreateTextFile(pathFsoFile, True)
    strStream = "Nom Fichier; Date & heure reception"
    fsoFile.WriteLine (strStream)
     
        For Each myItem In myFolder.Items
     
           strStream = myItem.Subject & ";" & myItem.ReceivedTime
     
           fsoFile.WriteLine (strStream)
     
        Next
     
        fsoFile.Close
     
    ...
     
    End Sub

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Points : 2 502
    Points
    2 502
    Par défaut
    Salut,

    Une solution est d'utiliser :
    OpenTextFile(<nom de fichier>,<8 : ouvre le fichier en en ecriture>,<True : doit créer le fichier s'il n'existe pas>),
    au lieu de CreateTextFile.

    pour détail voir OpenTextFile

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Merci beaucoup, c'est exactement ce que je cherchais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/06/2011, 18h35
  2. Rajouter des lignes de total dans un stringgrid
    Par lila23 dans le forum Débuter
    Réponses: 4
    Dernier message: 06/04/2009, 13h25
  3. rajouter des lignes dans la combobox
    Par levac dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 23/05/2007, 10h38
  4. [CSV] Ajouter et supprimer des ligne dans un fichier CSV
    Par gpsevasion dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2007, 18h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo