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 :

comment completer un document Word à partir d'Access


Sujet :

Access

  1. #1
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut comment completer un document Word à partir d'Access
    Bonjour,

    Tout est dans le titre.

    Je sais ouvrir un document WORD,
    Je voudrais écrire dedans avant de revenir sous access.

    Merci
    Windows 10 - ACCESS 2007

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    il suffit d'enregistrer une macro dans Word ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.TypeText "Hello World !"
    Ensuite on fait de l'automation ... MyWordApp étant l'objet word

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyWordApp.Selection.TypeText "Hello World !"
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    bonjour,

    je crois avoir oublié de dire que je suis sous ACCESS.

    J'ouvre un doc WORD.

    Je veux écrire dedans et revenir à ACCESS.

    A quel momment et par quelle instruction je peux écrire dans le document WORD.

    Merci
    Windows 10 - ACCESS 2007

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Citation Envoyé par DurDur
    bonjour,

    je crois avoir oublié de dire que je suis sous ACCESS.

    J'ouvre un doc WORD.

    Je veux écrire dedans et revenir à ACCESS.

    A quel momment et par quelle instruction je peux écrire dans le document WORD.

    Merci
    Non j'avais compris ...

    Maintenant, il faudrait qu'on voie ton code source pour savoir ce qu'il manque pour que ça marche ...

    je te renvoie à la FAQ et l'automation, ça devrait beaucoup t'aider

    http://access.developpez.com/faq/?re...utomation+word
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  5. #5
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Pour avoir une idée, adapte ce bout de code, puis exécute le pas à pas.
    Une fois le document ouvert, ajoute un espoin sur l'objet doc et explore la collection Paragraphs.
    Les lignes de texte sont dans Paragraphs(n).Range.Text
    Niveau caractère : Paragraphs(n).Range.Characters(m)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub testword()
    Dim doc As Word.Document, p As Word.Paragraph
    Set doc = GetObject("D:\Mes documents\Word\Test.doc")
    doc.Application.Visible = True 'affiche Word. Mais pas nécessaire
    For Each p In doc.Paragraphs
      Debug.Print p.Range.Text
    Next
    doc.Close
    End Sub

  6. #6
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bonjour CAFEINE,

    Voilà mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim madate As String
    madate = Right(DATE, 4) & Mid(DATE, 4, 2) & Left(DATE, 2)
    Dim wdapp As Word.Application
    Set wdapp = CreateObject("word.application")
    wdapp.Visible = True
    wdapp.Documents.Open "f:\marjorie\lettrefusion01.doc"
    ' ICI, JE VOUDRAIS POUVOIR COMPLETER LE DOCUMENT.
    wdapp.ActiveDocument.SaveAs "f:\marjorie\lettrefusion" & madate & ".doc"
    ' ET MAINTENANT FAIRE LE PUBLIPOSTAGE.
    wdapp.Run macroname:="fusion01"
    wdapp.ActiveDocument.Close
    wdapp.Application.Quit savechanges:=wddonotsavechanges
    Set wdapp = Nothing
    Avec ce code, il n'y a pas possibilité de compléter le doc. L'application continue dans la foulée.
    Est ce qu'il y a un moyen, aprés ouverture du doc, de rester dans WORD et de ne revenir dans ACCESS pour terminer l'application que lorsqu'on a quitté WORD.

    Ou alors, il faut scinder l'appli, l'écriture du doc d'un coté et le publipostage de l'autre.

    Merci de vos réponses.

    JC57
    Windows 10 - ACCESS 2007

  7. #7
    Membre actif Avatar de ActionAccess
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 213
    Points
    213
    Par défaut
    Bonjour,

    Pour rester dans Word, il faudrait ne pas fermer Word.
    Essaies de supprimer les lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    wdapp.ActiveDocument.Close 
    wdapp.Application.Quit savechanges:=wddonotsavechanges 
    Set wdapp = Nothing
    Ainsi tu resteras dans Word, quitte à écrire un bout de code qui ira te rajouter des textes.

    Bon courage
    ActionAccess

  8. #8
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bonjour,

    merci de ton aide, mais si on veut rester dans WORD, il faut aussi enlever
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    wdapp.ActiveDocument.SaveAs "f:\marjorie\lettrefusion" & madate & ".doc" 
    wdapp.Run macroname:="fusion01"
    et lorsque le doc est sauvegardé, on revient dans ACCESS dans le FORM qui a lancé l'appli.
    Dons pour faire le publipostage, je dois faire une autre COMMANDE.
    Je pensais qu'il était possible de faire le tout sur une seule COMMANDE.

    A+
    Windows 10 - ACCESS 2007

  9. #9
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Pour attendre la fermeture du doc Word dans Access j'ai écrit ça
    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
     
    Dim doc As Word.Document
    Dim docName As String
     
    Set doc = GetObject("D:\Mes documents\Word\PubliPstg.doc")
    doc.Application.Visible = True
    doc.Activate
    docName = doc.Name
    While Not (docName = "")  ' attendre fermeture
       docName = ""           '  du docmt Word
       On Error Resume Next
       docName = doc.Name
       On Error GoTo 0
       DoEvents               ' rend la main au système
    Wend
    ' Stop
    Set doc = Nothing
    A+

  10. #10
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bravo LedZeppII,

    c'est exactement ce que je voulais.
    J'ai ajouté mes lignes pour le publipostage et ça marche au poil.
    Je vais peaufiner pour trouver le doc et faire une sauvegarde du doc modifié.

    Encore Merci, je m'étais résolu de scinder cette appli en deux parties.

    JC57
    Windows 10 - ACCESS 2007

  11. #11
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Content d'avoir pû t'aider.
    Pour la suite (lancement du publipostage) j'ai enregistré une macro dans Word et cela donne :
    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
     
    Sub TestFusion()
    Dim doc As Word.Document, appWd As Word.Application
     
    Set doc = GetObject("D:\Mes documents\Word\PubliPstg.doc")
    doc.Activate
     
    ' J'ai ajouté une condition WHERE dans les options de fusion
    doc.MailMerge.DataSource.QueryString = _
            "SELECT * FROM [Client] WHERE (([RsCP] LIKE  '781*'))  ORDER BY [RsCP]"
     
    ' Type de fusion
    With doc.MailMerge
        .Destination = wdSendToPrinter
        .MailAsAttachment = False
        .MailAddressFieldName = ""
        .MailSubject = ""
        .SuppressBlankLines = True
        With .DataSource
            .FirstRecord = wdDefaultFirstRecord
            .LastRecord = wdDefaultLastRecord
        End With
    End With
     
    ' Lance la fusion
    Set appWd = doc.Application
    appWd.DisplayAlerts = wdAlertsNone
    doc.MailMerge.Execute False
    doc.Close wdDoNotSaveChanges
     
    On Error Resume Next  ' au cas ou appWd ne serait plus valide
    appWd.DisplayAlerts = wdAlertsAll
    If appWd.Documents.Count = 0 Then appWd.Quit wdDoNotSaveChanges
    On Error GoTo 0
     
    Set doc = Nothing
    Set appWd = Nothing
    End Sub
    Les petits tracas que j'ai noté :
    -Je n'arrive pas à empêcher la boite de dialogue "Imprimantes" pour la fusion.
    -Malgrès wdDoNotSaveChanges, je n'arrive pas à fermer le document sans le sauvegarder
    Pour le reste c'est OK.
    Bonne continuation

  12. #12
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    Bonjour,

    Je reviens sur ce programme qui a bien avancé grâce à LedZeppII.

    J'aimerais que l'utilisateur puisse faire une requête lui même avant de lancer le publipostage, genre:

    - Afficher la liste des champs (qui sont dans une requête) pour y faire un choix,
    - Afficher les possibilités de comparaison (<,>,<>,=) et faire un choix,
    - Entrer l'élément qui doit être comparé,
    - Créer la requête SQL.

    Je pense avoir vu quelque chose comme ça dans la FAQ, mais pas moyen de remettre la main dessus.

    Si quelqu'un a une idée, je suis toujours preneur.

    Merci.

    JC57
    Windows 10 - ACCESS 2007

  13. #13
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour JC57,

    Regardes ce tuto http://cafeine.developpez.com/access...echerchemulti/
    Ca devrait te mettre sur la Voie.

    A+

  14. #14
    Membre habitué Avatar de DurDur
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 244
    Points : 135
    Points
    135
    Par défaut
    merci du tuyau, je bosse déjà dessus et j'ai trouvé un autre truc dans BIBLIOTHEQUE qui est pas mal.
    ça marche bien dans l'appli, mais même copié comme tel dans mon appli, ça ne fonctionne pas, je cherche pourquoi et aprés je le modifie pou mon appli.

    Encore merci.

    JC57
    Windows 10 - ACCESS 2007

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

Discussions similaires

  1. comment ouvrir un document word a partir d'Access
    Par lounacou dans le forum IHM
    Réponses: 11
    Dernier message: 01/08/2011, 10h50
  2. [AC-2003] Document Word a partir d'Access
    Par FCL31 dans le forum IHM
    Réponses: 0
    Dernier message: 19/10/2009, 13h15
  3. Comment créer un document Word avec C++ Builder ?
    Par motte82 dans le forum C++Builder
    Réponses: 14
    Dernier message: 23/07/2006, 11h07
  4. Réponses: 4
    Dernier message: 22/04/2006, 11h38
  5. Réponses: 6
    Dernier message: 06/04/2006, 10h43

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