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 :

transferer des données access dans word


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut transferer des données access dans word
    Bonjour,

    Je débute avec Access et je viens de crée une base de donnée.
    j'aimerais transferer les données dans Word pour la création d'un contrat de travail.
    Mais problème: je dois insérer les chantiers ou le personnel et affecter (4 ou 5 suivant les personnes)
    J'ai bien pensée à utiliser le publipostage de Word mais ça ne fonctionne pas .
    y a t'il une solution pour lié dans la même feuille Word le nom du salarié et les différent chantiers ? car a l'heure actuelle je me trouve avec un seul chantier par feuille et 4 à 5 feuille avec le même nom de salarié

    merci de votre aide !

    a bientôt

  2. #2
    Membre actif
    Inscrit en
    Juin 2010
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 150
    Points : 210
    Points
    210
    Par défaut
    Voilà le code que moi j'ai fait pour exporter les données vers Word.
    Dans mon cas, la trame type dépend d'un paramètre (d'où la fonction case, et ma requête qui contient des paramètres)
    pour insérer dans le document word, il faut insérer des signets au préalable aux endroits où tu veux insérer les données.
    Le While et le re.MoveNext peux te permettre de traiter l'ensemble des chantiers concernés. (Dans mon cas, il n'y avait qu'une réponse par requête)
    La sauvegarde du fichier est nécessaire pour ne pas insérer consécutivement des champs sur un même signet.

    J'espère que ce code pourra te faire avancer.

    Code vb : 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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    Sub MergeBM()
    'Définitions
    Dim sql As String
    Dim database As DAO.database
    Dim qry As DAO.QueryDef
    Dim recordset As DAO.recordset
    'Implémentations
    Set database = Application.CurrentDb
    Set qry = database.QueryDefs("RequêteTypePassage")
    qry.Parameters("PARAM_NUM").Value = Forms!CréationConvention!Modifiable27
    Set rs = qry.OpenRecordset
    'Conditions
    Debug.Print rs.Fields(0) 'pour afficher le résultat dans la fenêtre d'exécution
    Select Case rs.Fields(0)
    Case "façade"
        Call MergeFacade
    Case "surplomb"
        Call MergeSurplomb
    Case "souterrain"
        Call MergeSouterrain
    Case "façade+boîtier"
        Call MergeFacadeBoitier
    Case Else
        MsgBox ("Pas de trame type définie pour ce type de passage : " & Chr(34) & Forms!CréationConvention!SubChercheFiche!TypePassage & Chr(34))
    End Select
    End Sub
     
    Sub MergeFacade()
    'Déclaration des variables
    Dim db As DAO.database
    Dim query As DAO.QueryDef
    Dim rs As DAO.recordset
    Dim oAppli
    Dim oDoc
    'Affectation des objets d'accès aux données
    Set db = Application.CurrentDb
    Set query = db.QueryDefs("RequêtePublipostageFaçade")
    query.Parameters("PARAM_NUM").Value = Forms!CréationConvention!Modifiable27
    Set rs = query.OpenRecordset
    Set oAppli = CreateObject("Word.Application")
    Set oDoc = oAppli.Documents.Open("\\..\trame type\AccessFusionFaçade.dotm", False, True, False)
    oAppli.Visible = True
    'Boucle pour la récupération de données
    While Not rs.EOF
        oDoc.SaveAs ("C:\Documents and Settings\All Users\Documents\" & rs.Fields(0) & ".doc")
        oDoc.Bookmarks("Commune").Range.Text = rs.Fields("Commune")
        oDoc.Bookmarks("Nom").Range.Text = rs.Fields("Nom")
        oDoc.Bookmarks("Commune2").Range.Text = rs.Fields("Commune")
        oDoc.Bookmarks("Adresse").Range.Text = rs.Fields("Adresse")
        oDoc.Bookmarks("Parcelle").Range.Text = rs.Fields("Parcelle")
        oDoc.Bookmarks("Parcelle2").Range.Text = rs.Fields("Parcelle")
        oDoc.Save
        rs.MoveNext
    Wend
    'Libération des objets
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    End Sub

Discussions similaires

  1. [WD-2007] Intéractivité entre Word et Excel-récupérer des données excel dans word
    Par manuseverine dans le forum VBA Word
    Réponses: 11
    Dernier message: 08/10/2018, 15h13
  2. "Exporter" feuille de données access dans word
    Par cberthol dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/12/2007, 14h03
  3. [VBA-E] Exporter des données Excel dans Word
    Par lucarno dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/08/2007, 19h25
  4. Réponses: 2
    Dernier message: 31/03/2006, 11h29
  5. comment afficher des données Access sur Word ??
    Par merlubreizh dans le forum Access
    Réponses: 7
    Dernier message: 16/09/2005, 15h07

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