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

Access Discussion :

[Automation] Word


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [Automation] Word
    Salut à tous,
    Je travaille actuellement avec ACCESS et je souhaiterai remplir des documents WORD avec des données provenant d'uen base access.

    J'ai bien trouvé quelques codes mais je n'arrive pas à les mettre en oeuvre, auriez-vous une idée pour m'aider dans cette tâche ou connaitriez-vous un tuto sur cette fonction ...????

    Merci

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    on n'a pas besoin d'une seule ligne de code pour faire du publipostage regarde ce mot dabs l'aide word et fait des recherches c'est d'une simplicité triviale

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    En fait je recherche une méthode non pas pour faire du publipostage mais remplir 1 seul document avec plusieurs données .

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    voir les liens suivant :

    http://bidou.developpez.com/faqvba/?page=2

    http://access.developpez.com/faq/?page=Word

    Tu verra comment créer une référence à un doc word et ainsi comment le remplir.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    J'ai bine trouver un code permettant de faire à peu près ce que je souhaite, le voici :

    "
    Private Sub CmdWORD_Click()

    'Voici pour la déclaration du code:
    Dim wdapp As Word.Application
    Dim moncode

    moncode = code.Value

    'Démarrer Word
    Set wdapp = CreateObject("Word.application")
    ' le code ci-dessous permet de faire apparaitre word
    ' en premier plan ou pas, false -> non et true -> oui
    wdapp.Visible = False
    'on ouvre le document
    wdapp.Documents.Open "j:\Doc_Atelier\td138\td138_gdt.doc"
    ' avant d'affecter la valeur du champ code au signet code,
    ' je teste si le champ code est vide,
    'car si oui cela posera probleme et dans ce cas j'affecte la valeur "."
    If code.Value <> "" Then
    wdapp.ActiveDocument.Bookmarks("code").Range.Text = code.Value
    Else
    wdapp.ActiveDocument.Bookmarks("code").Range.Text = "."
    End If
    ' je sauvegarde le fichier sous un autre nom
    wdapp.ActiveDocument.SaveAs "j:\Doc_Atelier\td138\" & moncode & ".doc"
    ' je ferme le fichier
    wdapp.ActiveDocument.Close
    ' je ferme l'application
    wdapp.Application.Quit SaveChanges:=wdDoNotSaveChanges
    ' et j'avertis l'utilisateur que le fichier word est crée
    MsgBox "Le fichier WORD est crée !"
    set wdapp=nothing
    End Sub
    "

    Par contre, j'ai un pb au niveau de :
    "If code.Value <> "" Then
    wdapp.ActiveDocument.Bookmarks("code").Range.Text = code.Value
    Else
    wdapp.ActiveDocument.Bookmarks("code").Range.Text = "."
    End If"

    en fait je n'arrive à écrire les données provenant d'une base ou du formulaire de Access????

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Essaye ce code :
    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
    35
    36
    37
    38
     
     
    Private Sub CmdWORD_Click()
    Dim WdApp As Object
    Dim Moncode
     
    Moncode = code.Value
     
    'Démarrer Word en ouvrant le document
    Set WdApp = GetObject("D:\toto.doc")
    ' le code ci-dessous permet de faire apparaitre word
    ' en premier plan ou pas, false -> non et true -> oui
     
    WdApp.Application.Visible = True
     
    'test si existance du signet code
    TestSignet WdApp, "code"
    ' avant d'affecter la valeur du champ code au signet code,
    ' je teste si le champ code est vide ou null,
    'car si oui cela posera probleme et dans ce cas j'affecte la valeur "."
    If Moncode & "" <> "" Then
    WdApp.Bookmarks("code").Range.Text = code.Value
    Else
    WdApp.Bookmarks("code").Range.Text = "."
    End If
    ' je sauvegarde le fichier sous un autre nom
    If Moncode & "" <> "" Then
        WdApp.SaveAs "D:\toto " & Moncode & ".doc"
    Else
        WdApp.SaveAs "D:\toto .doc"
    End If
    ' je ferme l'application
    WdApp.Application.Quit SaveChanges:=wdDoNotSaveChanges
    ' et j'avertis l'utilisateur que le fichier word est crée
    MsgBox "Le fichier WORD est crée !"
    Set WdApp = Nothing
     
    End Sub
    Avec la fonction suivante qui, le cas échéant, créé le signé Nom:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Sub TestSignet(ByRef Feuille As Object, Nom As String)
    On Error GoTo TestSignet_Err
    If Feuille.Bookmarks(Nom).Name & "" <> "" Then
    End If
    Exit Sub
     
    TestSignet_Err:
    Feuille.Bookmarks.Add Name:=Nom, Range:=Feuille.Range
    End Sub
    Bon courrage !

Discussions similaires

  1. [Automation Word] Texte en Gras
    Par uskiki85 dans le forum Access
    Réponses: 1
    Dernier message: 07/10/2005, 21h51
  2. [MFC] - Automation Word bug
    Par Alice9 dans le forum MFC
    Réponses: 3
    Dernier message: 25/05/2005, 16h47
  3. [C#] [Automation Word] Récupérer la valeur d'une cellule
    Par Ditch dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/06/2004, 15h57
  4. Automation Word
    Par afan dans le forum MFC
    Réponses: 8
    Dernier message: 12/11/2003, 14h50
  5. [AUTOMATION WORD]Pilotage Word par Delphi
    Par Sunny dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 05/12/2002, 17h09

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