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 :

[Exporter les résultats d'une recherche vers Word


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 91
    Points : 41
    Points
    41
    Par défaut [Exporter les résultats d'une recherche vers Word
    Bonjour à tous

    J'ai réussi, grâce à l'aide de personnes de ce forum, à réaliser un formulaire me permettant d'effectuer une recherche de référence.

    Quand l'utilisateur entre une référence cela renvoie des informations dans plusieurs listes déroulantes.

    J'aimerais maintenant exporter les résultats de cette recherche vers un document word.

    En réalité mon document word est uniquement constitué d'une mise en plan et cette mise en plan est constitué de légendes qui sont à actualisées suivant les résultats de la recherche.

    Dans mon formulaire de recherche j'ai créer un bouton qui ouvre mon document word et j'aimerais maintenant que ce bouton exporte automatiquement les résultats de ma recherche vers des zones de texte du document word.

    e ne vois pas comment procédé, j'ai chercher dans le FAQ et dans le forum mais ça ne correspond pas vraiment à ce que je recherche.

    Merci

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268

  3. #3
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    Salut,

    Le principe d'export sur word est d'utiliser les bookmarks.

    Tu vas placer dans ton document Word des bookmarks qui correspondent aux valeurs a recevoir.

    Dans mon cas, j'ouvre une nouvelle page a partir d'un template (.dot)

    Voici le code que j'utilise:
    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
    Set objWord = GetObject(, "Word.application")
    If Err = 429 Then
    Set objWord = New Word.Application
    End If
    On Error GoTo 0
     
    With objWord
    .Visible = True
    'get the path of the template
    strsql = "SELECT * FROM [Project]"
    Set rst = CurrentDb.OpenRecordset(strsql)
    wordfile = rst.Fields("Path_template_cr")
    Set doc = .Documents.Add(wordfile)
    With doc.Bookmarks
    'Sends the values to each bookmarks
    On Error Resume Next 'in case a bookmark doesn't exist in the template
    .item("date").Range.Text = Now
    .item("area").Range.Text = rst.Fields("area")
    entre les parentheses de '.item()', tu mets le nom des bookmarks que tu as rentré dans ton document WORD

    En esperant repondre a ta question. Regarde quand meme dans la FAQ, il me semble que tu as une section sur les exports sur Word.
    puis et puis et encore . Sinon sans oublier et

  4. #4
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 91
    Points : 41
    Points
    41
    Par défaut
    Voici le code que j'ai adapté à partir d'un ancien post :

    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
    39
    40
    41
    42
    43
    44
    Sub FormInsert()
     
    On Error GoTo Err_FormInsert
     
    Dim WdApp As Object
    Dim Termini1 As String
    Dim Termini2 As String
    Dim Cable As String
    Dim Longueur As String
     
    'le formulaire correspondant est considéré comme ouvert sur le bon enregistrement !
     
    ChT1 = Me![ChT1]
    ChT2 = Me![ChT2]
    ChC = Me![ChC]
    Longueur = Me![Longueur]
     
    Set WdApp = CreateObject("Word.Application")
     
    With WdApp.Visible = True
    .Documents.Open ("U:\BUSINESS UNIT AEROMIL\SALES\EQUIPE SALES SUPPORT\Ludovic PARIS\Autres documents (ordering information, base de donnée access...)\access (définition d'une référence Harnais ELIO)\Access.doc")
    .ActiveDocument.Bookmarks("ChT1").Select
    .Selection.Text = Termini1
    .ActiveDocument.Bookmarks("ChT2").Select
    .Selection.Text = Termini2
    .ActiveDocument.Bookmarks("ChC").Select
    .Selection.Text = Cable
    .ActiveDocument.Bookmarks("Longueur").Select
    .Selection.Text = Longueur
     
    End With
     
    'fermer et libérer les objets
     
    Set WdApp = Nothing
     
    Exit_FormInsert:
    Exit Sub
     
    Err_FormInsert:
    MsgBox Err.Description
    Resume Exit_FormInsert
     
    End Sub
    J'appelle cette procédure (qui est dans un module créer uniquement pour cette procédure) quand je clique sur le bouton.

    Or quand je clique sur le bouton j'ai le message d'erreur utilisation incorrect du mot clé Me!

    Je ne comprend pas pourquoi.

  5. #5
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Citation Envoyé par ludovicparis
    J'appelle cette procédure (qui est dans un module créer uniquement pour cette procédure) quand je clique sur le bouton.

    Or quand je clique sur le bouton j'ai le message d'erreur utilisation incorrect du mot clé Me!

    Je ne comprend pas pourquoi.
    Tu as la réponse ici.
    Tu dis que cette fonction est dans un module et tu l'appelles à partir d'un formulaire.
    Le Me ne fonctionne pas !! (un tuto doit sortir d'ailleurs la dessus )
    Pourquoi ?
    Pour que Me soit reconnu dans le module : il faut que la fonction soit dans le module du formulaire !

    Pour accéder aux champs du formulaire, il faut utiliser la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms.NomFormulaire.NomControle

  6. #6
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 91
    Points : 41
    Points
    41
    Par défaut
    J'ai fait ce que tu m'as conseillé, j'espère que j'ai bien compris.

    Cependant lorque je clique sur lecteur dans vba, le message suivant appraît : propriété ou méthode non gérée par cet objet et lorsque je clique sur le bouton dans mon formulaire j'ai le message : utilisation incorrecte du null.

    Voici mon code (j'ai limiter mon exportation à une seul de mes données pour que ça soit un peu plus cleir pour moi, car j'ai du mal à comprendre)

    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
    Sub FormInsert()
     
    On Error GoTo Err_FormInsert
     
    Dim WdApp As Object
    Dim ChT1 As String
     
     
    'le formulaire correspondant est considéré comme ouvert sur le bon enregistrement !
     
    ChT1 = Forms.Recherche1.ChT1
     
     
    Set WdApp = CreateObject("Word.Application")
     
    With WdApp.Visible = True
    .Documents.Open ("U:\BUSINESS UNIT AEROMIL\SALES\EQUIPE SALES SUPPORT\Ludovic PARIS\Autres documents (ordering information, base de donnée access...)\access (définition d'une référence Harnais ELIO)\Access.doc")
    .ActiveDocument.Bookmarks("ChT1").Select
    .Selection.Text = ChT1
     
    End With
     
    'fermer et libérer les objets
     
    Set WdApp = Nothing
     
    Exit_FormInsert:
    Exit Sub
     
    Err_FormInsert:
    MsgBox Err.Description
    Resume Exit_FormInsert
     
    End Sub
    Merci pour votre aide

  7. #7
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Tu devrais éviter de nommer ta variable du même nom que le champ de ton formulaire.

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Points : 504
    Points
    504
    Par défaut
    Tiens voilà le début du code que j'utilise :

    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
    Dim CharacterNumber As Integer
    Dim Font As Object
    Dim Unicode As Object
    Dim Bias As Object
     
    Set db = CurrentDb()
    strSql = "SELECT * FROM tblDéclaration WHERE [IdxAt]=" & Me.IdxAt & ";"
    Set rst = db.OpenRecordset(strSql)
     
    ' Ouvrir Word
    Set oApp = CreateObject("Word.Application")
    oApp.Visible = True
     
    ' Ouvrir le document courrier.doc
    Set doc = oApp.Documents.Open("F:\xxx\xxx\xxx\xxx.doc")
     
    ' Remplacer les signets par les valeurs du Recordset
    With doc
        .Bookmarks("centre_incendie").Range.text = Nz(rst("sous_unité"))
        .Bookmarks("nom_chef_cis").Range.text = Nz(rst("nom_chef_cis"))
        .Bookmarks("date_circonstance").Range.text = Nz(rst("date_circonstance"))
        .Bookmarks("nom").Range.text = Nz(rst("nom"))
    End with
    End sub

  9. #9
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 91
    Points : 41
    Points
    41
    Par défaut
    Kikof ==> J'ai changé le nom de ma variable mais j'ai toujours le même message d'erreur.

    code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub FormInsert()
     
    On Error GoTo Err_FormInsert
     
    Dim WdApp As Object
    Dim Termini1 As String
     
    'le formulaire correspondant est considéré comme ouvert sur le bon enregistrement !
     
    Termini1 = Forms.Recherche1.ChT1
    Herman ==> merci pour ton aide, cependant tu procède à partir d'une table et moi c'est à partir d'un formulaire et je ne sais pas comment appliquer ton code à mon cas précis ( alala durdur l'apprentissage d'Access)

    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
    Set WdApp = CreateObject("Word.Application")
     
    With WdApp.Visible = True
    .Documents.Open ("U:\BUSINESS UNIT AEROMIL\SALES\EQUIPE SALES SUPPORT\Ludovic PARIS\Autres documents (ordering information, base de donnée access...)\access (définition d'une référence Harnais ELIO)\Access.doc")
    .ActiveDocument.Bookmarks("Termini1").Select
    .Selection.Text = ChT1
     
    End With
     
    'fermer et libérer les objets
    Set WdApp = Nothing
     
    Exit_FormInsert:
    Exit Sub
     
    Err_FormInsert:
    MsgBox Err.Description
    Resume Exit_FormInsert
    End Sub
    J'ai l'impression que l'erreur se situe au niveau de cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Termini1 = Forms.Recherche1.ChT1

  10. #10
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 91
    Points : 41
    Points
    41
    Par défaut
    bonjour,

    Désolé pour les balises je savais pas comment faire.

    J'ai essayé de comprendre où était mon erreur mais j'ai toujours les même messages d'erreurs.

  11. #11
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 91
    Points : 41
    Points
    41
    Par défaut
    J'ai réussi à faire ce que je voulais, le code est complètement différent et provient en faite du faq, j'avais mal formulé ma recherche les premières fois, et je ne voyais donc pas cette question du faq.

    Si ça peux aider d'autres personnes voici le code (cette fois j'oublie pas la balises, encore une fois dsl pour mes précédents posts).

    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
    Private Sub cmd10_Click()
     
     
        Dim WdApp As Object
        Dim strWordDoc As String
        Dim Termini1 As String
     
        strWordDoc = "U:\XXXX\XXXX"
     
        Termini1 = Me.ChT1.Value
     
     
        Set WdApp = CreateObject("Word.Application")
     
        With WdApp
            .Visible = True
            .Documents.Add Template:=strWordDoc, NewTemplate:=False, DocumentType:=0
            .Activate
        End With
     
        WdApp.ActiveDocument.Bookmarks("Termini1").Range.Text = ChT1
     
    Exit_cmd10_Click:
           Exit Sub
     
    Err_cmd10_Click:
           MsgBox Err.Description
           Resume Exit_cmd10_Click
     
    End Sub
    Merci pour votre aide

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

Discussions similaires

  1. Exporter les résultats d'une macro vers une autre feuille excel
    Par sara2001 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/09/2011, 17h33
  2. [JSP]Exporter les données d'une table vers un CSV
    Par genuine dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 25/10/2006, 10h58
  3. Réponses: 7
    Dernier message: 21/09/2006, 08h44
  4. Exporter les données d'une flexgrid vers Excel
    Par ecarbill dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 16/08/2006, 18h06
  5. exporter le résultat d'une recherche multi-critère ?
    Par Tetsuotil dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 18/07/2006, 17h39

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