Exportation du contenu d'une table,d'un formulaire ou d'une requête dans un document word en vb sous access

4/5 (3 avis)

Snippet vu 15 591 fois - Téléchargée 41 fois

Contenu du snippet

Je débutes en VB,je n'ai pas trouvé sur code source "comment exporter le contenu d'une requête vers Word à un emplacement spécifique" alors je me suis dit que cela pourrait peut-être aider certains,ce code n'est pas trop long ni difficile à comprendre...
Ce code m'a permi d'inserer des requêtes sous forme de tableaux contenant du matériel informatique avec la quantité,le prix,etc... dans un fichier Word nommé "proposition commerciale".L'entreprise m'a demandé d'automatiser leurs propositions commerciale au format Word,au lieu de rentrer tout le matériel manuellement,le code VBA l'insère automatiquement ,ce qui leurs permet de gagner un gain de temps considérable.

Source / Exemple :


Private Sub mode_detail_Click()

Dim stDocName As String

'ouverture du document de votre document Word (ex:"C:/Docdebase.doc")

Word_Ouvrir_document "l'emplacement de votre document word.doc", True

'L'exemple suivant s'applique pour une requête:
'1)a)atteindre un signet (position spécifique dans le fichier Word) pour pouvoir 
'inserer le fichier "transfert"(au format .rtf) contenant la requête "nom de votre requête"
'Le fichier "transfert.rtf" sert à transferer le contenu de la requête vers un fichier Word,
'il est à chaque fois ecrasé et recrée.
'On test tout d'abord si la requête est vide en comptant 
'le nombre d'enregistrement qu'elle contient.

If (DCount("*", "Nom de votre requête") > 0) Then
    Word_Atteindre_Signet "Nom de votre signet dans votre document Word"
    stDocName = "Nom de votre requête"
    DoCmd.OutputTo acQuery, stDocName, acFormatRTF, "Nom de votre fichier .rtf et son emplacement (ex: C:/transfert.rtf)"
    Word_Insère_fichier "C:/transfert.rtf"
End If

End Sub

'La commande "DoCmd.OutputTo" permet le transfert de la requête vers le document .rtf
'Elle peut prendre en paramêtre "acQuery" ou "acForm" ou  "acTable" ou"acReport"
'(pour un état).A vous de changer la valeur de stDocName si c'est 
'une table (le nom de la table)
'Les fonctions "Word_Atteindre_Signet", "Word_Insère_fichier" 
'et "Word_Ouvrir_document" sont disponible ici:

Public Sub Word_Atteindre_Signet(Optional Nom_signet As Variant)

If Not IsNull(Nom_signet) Then
     Word_Application.Selection.GoTo What:=wdGoToBookmark, Name:=Nom_signet
End If

End Sub

Public Sub Word_Insère_fichier(NomFichier As String)

Word_Application.Selection.InsertFile _
                        FileName:=NomFichier, _
                        Range:="", _
                        ConfirmConversions:=True, _
                        Link:=False, _
                        Attachment:=False

End Sub

Public Sub Word_Ouvrir_document(Nom_Document As Variant, Visible As Boolean)

Word_Création_Lien_OLE

With Word_Application
     .Visible = Visible
     .Documents.Open _
                    FileName:=Nom_Document, _
                    ConfirmConversions:=True, _
                    ReadOnly:=False, _
                    AddToRecentFiles:=False, _
                    PasswordDocument:="", _
                    PasswordTemplate:="", _
                    Revert:=False, _
                    WritePasswordDocument:="", _
                    WritePasswordTemplate:="", _
                    Format:=wdOpenFormatAuto
End With

End Sub

'L'auteur de ces 3 fonctions est "Jacques PRESTREAU" 
'(http://www.vbfrance.com/code.aspx?ID=387 )
'Merci à lui. :)

Conclusion :


Je tiens à remercier Jacques PRESTREAU,code source http://www.vbfrance.com/code.aspx?ID=387 qui grâce à son code,m'a éclairci pour la résolution de mon problème.

A voir également

Ajouter un commentaire Commentaires
Bonjour
dans le cadre de mon stage de fin d'étude,une partie de mon travail consiste à exporter le contenu d'une table vers un fichier texte ,y a t-il une possibilité pour que ça soit automatique avec du code delphi?
Merci d'avance :)
mikehell Messages postés 1 Date d'inscription jeudi 2 février 2006 Statut Membre Dernière intervention 16 février 2006
16 févr. 2006 à 14:31
Hello,

j'ai utilisé ton code pour un bouton qui contient ce bout de code, quand je clique dessus il me dit :

"Erreur de compilation, fonction et sub pas définit" et le déboggueur pointe sur la ligne:

...
"Public Sub Word_Ouvrir_document(Nom_Document As Variant, Visible As Boolean)

Word_Création_Lien_OLE"
...

Est-ce que quelqu'un sait pourquoi je n'arrive pas à compiler?

Merci pour votre aide.

tony.toca@hotmail.com
vtchikin Messages postés 14 Date d'inscription lundi 15 novembre 2004 Statut Membre Dernière intervention 5 décembre 2006
21 déc. 2004 à 17:13
Bonjours,

Je suis suis aussi débutant ou amateur de programmation vb et je souhaiter exporter un formulaire de type tableau croisé dynamique dans un fichier excel déjà battit? est ce possible également de l'automatiser par du code.

Merci à ceux qui pourront m'aider
vtchikin@yahoo.fr

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.