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

VB.NET Discussion :

problème d'enregistrement


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 15
    Par défaut problème d'enregistrement
    Bonjour a tous
    J'ai des classeurs excel dans c:\
    J'ai fais un programme en vb.net qui permet de les remplir, jusque la ca va mais je voudrais les enregistrer dans un dossier dans le d:\ toto lorsque je clique sur mon bouton c'est possible ou pas ?
    Merci d'avance a tous

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Par défaut
    Bonjour,

    C'est possible.
    Quand tu sauvegardes ton fichier, tu as juste à enregistrer sous l'autre chemin.
    Si tu utilises FileStream pour modifier ton fichier excel, tu ouvres le fichier en lecture. Et tu reportes le fichiers et les modifications dans un FileStream en écriture à la nouvelle adresse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim fsOldFichier As New FileStream(TonFichierExcel, FileMode.Open, FileAccess.Read)
    Dim srOldFichier As New StreamReader(fsOldFichier)
    Dim fsFichier As New FileStream(nouveauFichier, FileMode.Create, FileAccess.Write)
    Dim swFichier As New StreamWriter(fsFichier)
     
    ' Tu reportes tes changements
     
    srOldFichier.Close()
    fsOldFichier.Close()
    swFichier.Flush()
    swFichier.Close()
    fsFichier.Close()
    NB : Ce code ne marche que si on a importer System.IO
    TonFichierExcel est le nom de ton fichier (chemin compris)
    NouveauFichier est celui du fichier à l'arrivée : D:\toto\fichier.xls

    NB : Dans ces configurations, le fichier original n'est pas modifié.
    Si tu veux qu'ils soient modifiés, tu gardes le code que tu as. Et ensuite, tu fais juste un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.IO.File.Copy(TonFichierExcel, NouveauFichier)

  3. #3
    Membre averti
    Inscrit en
    Février 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 15
    Par défaut
    Ca marche nikel mais le seul souci c'est que par exemple quand je rempli le document excel, les données qui sont dedans ne s'enregistrent pas dans le nouveau document
    Est ce normal ?
    Merci beaucoup de ton aide

  4. #4
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    Tu as dû copié le document avant de faire les modifications.

    Il faut que tu modifie ton document, puis seulement après tu l'enregistre sur D:\
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  5. #5
    Membre averti
    Inscrit en
    Février 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 15
    Par défaut
    et bien j'ai fait ceci

    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
    Dim fsOldFichier As New FileStream(TonFichierExcel, FileMode.Open, FileAccess.Read)
     
    Dim srOldFichier As New StreamReader(fsOldFichier)
     
    Dim fsFichier As New FileStream(nouveauFichier, FileMode.Create, FileAccess.Write)
     
    Dim swFichier As New StreamWriter(fsFichier)
     
    srOldFichier.Close()
    fsOldFichier.Close()
    swFichier.Flush()
    swFichier.Close()
    fsFichier.Close()
     
    System.IO.File.Copy(TonFichierExcel, NouveauFichier)

    j'espere que c'est ca , le souci c'est qu'il me copie effectivement bien le document du c:\ ver le d:\ mais il me met pas le contenu rempli avant .

    merci pour votre patience

  6. #6
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    En gros, tu copie le fichier sans l'avoir enregistré avant.

    Le document modifié est donc en mémoire, tandis que tu copie le document original.

    Et pourquoi fais tu une double copie du document ?
    Le File.Copy devrait normalement suffire. Il te faut juste sauvegarder les modifications avant.

    Ou sauvegarder sur D:\ le document que ton application a en mémoire.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

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

Discussions similaires

  1. probléme d'enregistrement avec les chexkbox.
    Par pmboutteau dans le forum ASP
    Réponses: 16
    Dernier message: 18/10/2005, 15h05
  2. Réponses: 1
    Dernier message: 25/09/2005, 11h09
  3. Problème d'enregistrement de DLL
    Par chleuh dans le forum Langage
    Réponses: 5
    Dernier message: 01/07/2005, 10h30
  4. problème d'enregistrement de textarea dans bdAccess
    Par pmboutteau dans le forum ASP
    Réponses: 23
    Dernier message: 04/04/2005, 15h10
  5. Problèm d'enregistrement
    Par ludogim dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/06/2004, 11h41

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