1. #1
    Membre à l'essai
    Homme Profil pro
    liege
    Inscrit en
    août 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : liege

    Informations forums :
    Inscription : août 2015
    Messages : 10
    Points : 11
    Points
    11

    Par défaut Fusion de données VBA - enregistrer fichier DOC sans le relier à la source

    Bien le bonjour,

    Je suis en train de réaliser quelques courriers types en word qui accèdent à un fichier Excel.

    L'import des données se passe bien.


    Afin de pouvoir partager ce fichier Word après fusion, j'ai créé une méthode publique pour l'enregistrer. Le fichier s'enregistre bien (en .doc, car en .docx il me dit qu il y a des erreurs et ne peut pas l ouvrir, soit).

    Mon problème est que ce fichier ainsi sauvegardé est toujours lié à la source d'origine, j'utilise des DocVariable qui sont mises à jour automatiquement.

    J'ai tenté un export pdf pour voir, c'est nickel pour le côté partageable, hormis que le fichier n'est plus "modifiable" ensuite.

    Je cherche une solution similaire à l'exportpdf mais en me créant un fichier doc qui serait encore modifiable et totalement désolidarisé de la version de base, juste du texte sans macro

    Une petite idée ?

  2. #2
    Membre à l'essai
    Homme Profil pro
    liege
    Inscrit en
    août 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : liege

    Informations forums :
    Inscription : août 2015
    Messages : 10
    Points : 11
    Points
    11

    Par défaut

    J'ai pu me rendre compte que lorsque je copie - colle le contenu du fichier dans un nouveau, je n'ai plus le problème de liaison à une source de données.

    Par conséquent, j'ai automatisé cela via VBA.

    Je vais laisser ma solution perso si qqun venait à rencontrer ce problème.

    Tout d'abord, un sub en public :

    Public Sub EnregistrerDocument()

    Dim DocMain As Document
    Dim DocTemp As Document
    Dim Chemin As String
    Chemin = ActiveDocument.Path & "\"

    Set DocMain = ActiveDocument

    Selection.WholeStory
    Selection.Copy 'Copy your selection

    Set DocTemp = Application.Documents.Add
    Documents(DocTemp).Activate 'Activate the other document
    Selection.PasteAndFormat wdPasteDefault 'Pastes in the content




    With ActiveDocument
    .SaveAs Chemin & NUMERO_DOSSIER_DIC & " - Notif" & ".docx"
    .Close
    End With
    DocMain.Activate
    Selection.Collapse Direction:=wdCollapseStart

    End Sub

    Il va selectionner le contenu de mon fichier actif, créer un nouveau fichier, coller dedans, le sauvegarder, puis le fermer. Ensuite retour au fichier original après avoir déselectionné le tout et repositionnement au début.

    Ca me convient ainsi

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

Discussions similaires

  1. Base de données avec simple fichier texte sans MySQL
    Par johnrock dans le forum PHP & MySQL
    Réponses: 12
    Dernier message: 22/11/2016, 09h26
  2. Extraction de données de multiples fichiers doc
    Par chtrousselle dans le forum VBA Word
    Réponses: 1
    Dernier message: 15/12/2012, 00h34
  3. Exporter des données dans un fichier .doc (ou docx)
    Par Redg9 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 29/04/2009, 11h51
  4. [WD10] Recuperer les données d un fichier .doc
    Par pedro_delavega dans le forum WinDev
    Réponses: 8
    Dernier message: 28/10/2008, 10h31
  5. Enregistrer fichier .xls sans macro ni code vb
    Par alexxx69 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/11/2005, 18h48

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