OVH Cloud OVH Cloud

pb export word

18 réponses
Avatar
roques bertrand
J'avais récupéré sur le net l'appli ci après mais ça ne

> marche pas: Il faut

> dire que je ne sais pas par quoi remplacer "moncode" "code" et "value"

> (lignes que je te marque avec trois ***

>

> GRAND MERCI

>

>

> il s'agit d'un code pour piloter word depuis access en

> ouvrant un document

> et en y "collant" les données du formulaire. A noter que dans

> le document

> word il faut insérer des bookmarks en leur donnant le meme

> nom que le champ

> que l'on veut exporter. Pour simplifier : le bookmark "données" =

> données.value !

>

> 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 !"

>

> End Sub

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

tu trouveras un modèle de code pour insérer des valeurs dans des signets
word sur la page:
http://officesystem.access.free.fr/vba/signets.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"roques bertrand" a écrit dans le message de news:
41b0d739$0$2299$
J'avais récupéré sur le net l'appli ci après mais ça ne

marche pas: Il faut

dire que je ne sais pas par quoi remplacer "moncode" "code" et "value"

(lignes que je te marque avec trois ***



GRAND MERCI





il s'agit d'un code pour piloter word depuis access en

ouvrant un document

et en y "collant" les données du formulaire. A noter que dans

le document

word il faut insérer des bookmarks en leur donnant le meme

nom que le champ

que l'on veut exporter. Pour simplifier : le bookmark "données" >
données.value !



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_Ateliertd138td138_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_Ateliertd138" & 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 !"



End Sub






Avatar
bertrand roques
Bon ok j'y suis allé et j'ai adapté le cas 2 et 3 et la... le mieux que j'ai
pus faire c'est obtenir une succession de carrées?????

Cela vient il du fait que mon fichier source est un champ oel...

Si oui comment faire.
*En d'autre termes j'ai crer un doc word dans un champ oel que je ne sais
pas exporter vers un doc word affin de l'imprimer (la fonction print imprime
la totalité du formulaire et les etats des objet oel n'ont pas la fonction
autoetandre et auto reduir.....)
Merci d'avance


Bonjour.

tu trouveras un modèle de code pour insérer des valeurs dans des signets
word sur la page:
http://officesystem.access.free.fr/vba/signets.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"roques bertrand" a écrit dans le message de news:
41b0d739$0$2299$
J'avais récupéré sur le net l'appli ci après mais ça ne

marche pas: Il faut

dire que je ne sais pas par quoi remplacer "moncode" "code" et "value"

(lignes que je te marque avec trois ***



GRAND MERCI





il s'agit d'un code pour piloter word depuis access en

ouvrant un document

et en y "collant" les données du formulaire. A noter que dans

le document

word il faut insérer des bookmarks en leur donnant le meme

nom que le champ

que l'on veut exporter. Pour simplifier : le bookmark "données" > >
données.value !



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_Ateliertd138td138_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_Ateliertd138" & 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 !"



End Sub











Avatar
Raymond [mvp]
les exemples donnés ne concernent pasles champs OLE qui ne sont pas des
champs texte;
pour copier un champ OLE tu trouveras un exemple sur la page :
http://officesystem.access.free.fr/copie_objets_ole.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit dans le
message de news:
Bon ok j'y suis allé et j'ai adapté le cas 2 et 3 et la... le mieux que
j'ai
pus faire c'est obtenir une succession de carrées?????

Cela vient il du fait que mon fichier source est un champ oel...

Si oui comment faire.
*En d'autre termes j'ai crer un doc word dans un champ oel que je ne sais
pas exporter vers un doc word affin de l'imprimer (la fonction print
imprime
la totalité du formulaire et les etats des objet oel n'ont pas la fonction
autoetandre et auto reduir.....)
Merci d'avance


Bonjour.

tu trouveras un modèle de code pour insérer des valeurs dans des signets
word sur la page:
http://officesystem.access.free.fr/vba/signets.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"roques bertrand" a écrit dans le message de news:
41b0d739$0$2299$
J'avais récupéré sur le net l'appli ci après mais ça ne

marche pas: Il faut

dire que je ne sais pas par quoi remplacer "moncode" "code" et "value"

(lignes que je te marque avec trois ***



GRAND MERCI





il s'agit d'un code pour piloter word depuis access en

ouvrant un document

et en y "collant" les données du formulaire. A noter que dans

le document

word il faut insérer des bookmarks en leur donnant le meme

nom que le champ

que l'on veut exporter. Pour simplifier : le bookmark "données" >> >
données.value !



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_Ateliertd138td138_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_Ateliertd138" & 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 !"



End Sub













Avatar
bertrand roques
merci je vai essayer


les exemples donnés ne concernent pasles champs OLE qui ne sont pas des
champs texte;
pour copier un champ OLE tu trouveras un exemple sur la page :
http://officesystem.access.free.fr/copie_objets_ole.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit dans le
message de news:
Bon ok j'y suis allé et j'ai adapté le cas 2 et 3 et la... le mieux que
j'ai
pus faire c'est obtenir une succession de carrées?????

Cela vient il du fait que mon fichier source est un champ oel...

Si oui comment faire.
*En d'autre termes j'ai crer un doc word dans un champ oel que je ne sais
pas exporter vers un doc word affin de l'imprimer (la fonction print
imprime
la totalité du formulaire et les etats des objet oel n'ont pas la fonction
autoetandre et auto reduir.....)
Merci d'avance


Bonjour.

tu trouveras un modèle de code pour insérer des valeurs dans des signets
word sur la page:
http://officesystem.access.free.fr/vba/signets.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"roques bertrand" a écrit dans le message de news:
41b0d739$0$2299$
J'avais récupéré sur le net l'appli ci après mais ça ne

marche pas: Il faut

dire que je ne sais pas par quoi remplacer "moncode" "code" et "value"

(lignes que je te marque avec trois ***



GRAND MERCI





il s'agit d'un code pour piloter word depuis access en

ouvrant un document

et en y "collant" les données du formulaire. A noter que dans

le document

word il faut insérer des bookmarks en leur donnant le meme

nom que le champ

que l'on veut exporter. Pour simplifier : le bookmark "données" > >> >
données.value !



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_Ateliertd138td138_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_Ateliertd138" & 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 !"



End Sub


















Avatar
bertrand roques
Bon Ok j'ai essayé sur une table exemple d'exporter mon champ ole contenant
un doc word avec le code ci apres recup la ou tu as dit
Et là... message d'erreur d'execution 438 : propriété ou methode non genere
par cet objet
J'ai alors essayer d'aouter des referance isual basic (toute celles qui
contenait VBA dans les terme (au pif))sans success.???SNIF
****= lignes surlignée en jaune.
ps je me demande si "Editionsélectionnertout" en francais ca peut marcher?????

Nom : MyOle
ControlSource: MyOle

4. Ajouter un bouton de commande, nommé CopyDocument et fixer
sa propriété 'Sur clic' comme suit :

Sub Bouton18_Click()
Dim NewObject As Object
Dim NewDoc As String

' Nom du nouveau document à créer
NewDoc = "TEST.DOC"

' Copie l'objet dans le presse papier
Me!MyOle.Verb = 0
Me!MyOle.Action = 7
****Me!MyOle.Object.Application.WordBasic.Editionsélectionnertout
Me!MyOle.Object.Application.WordBasic.EditionCopier
Me!MyOle.Action = 9
DoEvents

' Crée un nouveau document et colle le contenu du presse papier
' enregistre le document dans le répertoire de Word.

Set NewObject = CreateObject("Word.Basic")
NewObject.FichierNouveau
NewObject.EditionColler
NewObject.FichierEnregistrerSous NewDoc
NewObject.fichierFermer

' Libération de la mémoire utilisée par l'objet

Set NewObject = Nothing

End Sub





merci je vai essayer


les exemples donnés ne concernent pasles champs OLE qui ne sont pas des
champs texte;
pour copier un champ OLE tu trouveras un exemple sur la page :
http://officesystem.access.free.fr/copie_objets_ole.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit dans le
message de news:
Bon ok j'y suis allé et j'ai adapté le cas 2 et 3 et la... le mieux que
j'ai
pus faire c'est obtenir une succession de carrées?????

Cela vient il du fait que mon fichier source est un champ oel...

Si oui comment faire.
*En d'autre termes j'ai crer un doc word dans un champ oel que je ne sais
pas exporter vers un doc word affin de l'imprimer (la fonction print
imprime
la totalité du formulaire et les etats des objet oel n'ont pas la fonction
autoetandre et auto reduir.....)
Merci d'avance


Bonjour.

tu trouveras un modèle de code pour insérer des valeurs dans des signets
word sur la page:
http://officesystem.access.free.fr/vba/signets.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"roques bertrand" a écrit dans le message de news:
41b0d739$0$2299$
J'avais récupéré sur le net l'appli ci après mais ça ne

marche pas: Il faut

dire que je ne sais pas par quoi remplacer "moncode" "code" et "value"

(lignes que je te marque avec trois ***



GRAND MERCI





il s'agit d'un code pour piloter word depuis access en

ouvrant un document

et en y "collant" les données du formulaire. A noter que dans

le document

word il faut insérer des bookmarks en leur donnant le meme

nom que le champ

que l'on veut exporter. Pour simplifier : le bookmark "données" > > >> >
données.value !



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_Ateliertd138td138_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_Ateliertd138" & 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 !"



End Sub




















Avatar
Raymond [mvp]
dans mes exemples il n'est pas question d'exporter un document word vers
word , mais des objets ole (image, pdf, etc..;) vers word; exporter word
vers word me parait un peu superflu.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit dans le
message de news:
Bon Ok j'ai essayé sur une table exemple d'exporter mon champ ole
contenant
un doc word avec le code ci apres recup la ou tu as dit
Et là... message d'erreur d'execution 438 : propriété ou methode non
genere
par cet objet
J'ai alors essayer d'aouter des referance isual basic (toute celles qui
contenait VBA dans les terme (au pif))sans success.???SNIF
****= lignes surlignée en jaune.
ps je me demande si "Editionsélectionnertout" en francais ca peut
marcher?????

Nom : MyOle
ControlSource: MyOle

4. Ajouter un bouton de commande, nommé CopyDocument et fixer
sa propriété 'Sur clic' comme suit :

Sub Bouton18_Click()
Dim NewObject As Object
Dim NewDoc As String

' Nom du nouveau document à créer
NewDoc = "TEST.DOC"

' Copie l'objet dans le presse papier
Me!MyOle.Verb = 0
Me!MyOle.Action = 7
****Me!MyOle.Object.Application.WordBasic.Editionsélectionnertout
Me!MyOle.Object.Application.WordBasic.EditionCopier
Me!MyOle.Action = 9
DoEvents

' Crée un nouveau document et colle le contenu du presse papier
' enregistre le document dans le répertoire de Word.

Set NewObject = CreateObject("Word.Basic")
NewObject.FichierNouveau
NewObject.EditionColler
NewObject.FichierEnregistrerSous NewDoc
NewObject.fichierFermer

' Libération de la mémoire utilisée par l'objet

Set NewObject = Nothing

End Sub





merci je vai essayer


les exemples donnés ne concernent pasles champs OLE qui ne sont pas des
champs texte;
pour copier un champ OLE tu trouveras un exemple sur la page :
http://officesystem.access.free.fr/copie_objets_ole.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit
dans le
message de news:
Bon ok j'y suis allé et j'ai adapté le cas 2 et 3 et la... le mieux
que
j'ai
pus faire c'est obtenir une succession de carrées?????

Cela vient il du fait que mon fichier source est un champ oel...

Si oui comment faire.
*En d'autre termes j'ai crer un doc word dans un champ oel que je ne
sais
pas exporter vers un doc word affin de l'imprimer (la fonction print
imprime
la totalité du formulaire et les etats des objet oel n'ont pas la
fonction
autoetandre et auto reduir.....)
Merci d'avance


Bonjour.

tu trouveras un modèle de code pour insérer des valeurs dans des
signets
word sur la page:
http://officesystem.access.free.fr/vba/signets.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"roques bertrand" a écrit dans le message de
news:
41b0d739$0$2299$
J'avais récupéré sur le net l'appli ci après mais ça ne

marche pas: Il faut

dire que je ne sais pas par quoi remplacer "moncode" "code" et
"value"

(lignes que je te marque avec trois ***



GRAND MERCI





il s'agit d'un code pour piloter word depuis access en

ouvrant un document

et en y "collant" les données du formulaire. A noter que dans

le document

word il faut insérer des bookmarks en leur donnant le meme

nom que le champ

que l'on veut exporter. Pour simplifier : le bookmark "données" >> > >> >
données.value !



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_Ateliertd138td138_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_Ateliertd138" & 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 !"



End Sub






















Avatar
bertrand roques
c'est vrai que presentée comme ça, ma question parait "stupide", MAIS (car il
ya un mais!) en fait le problème que je n'arrive pas à résoudre simplement
(c'est pourquoi j'en suis arriver à me torturer les neurones!!!) c'est :
j'ai tapé une lettre sous word, je l'ai importée dans un champ ole par vba
copier coller. Mais quand je suis sous access, je click sur mon champ ole,
une page word s'ouvre MAIS (j'y viens à mon problème!) ensuite quand je click
sur print j'imprime le formulaire entier....et pas seulement mon champ ole...
de même, si je fais un état pour mon champ ole, celui- ci n'est pas
autoextensible et réductible...ma page word est donc tronquée. D'ou l'idée
que peut-être, peut-être...................une solution? SVP I need some help
!-)


dans mes exemples il n'est pas question d'exporter un document word vers
word , mais des objets ole (image, pdf, etc..;) vers word; exporter word
vers word me parait un peu superflu.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit dans le
message de news:
Bon Ok j'ai essayé sur une table exemple d'exporter mon champ ole
contenant
un doc word avec le code ci apres recup la ou tu as dit
Et là... message d'erreur d'execution 438 : propriété ou methode non
genere
par cet objet
J'ai alors essayer d'aouter des referance isual basic (toute celles qui
contenait VBA dans les terme (au pif))sans success.???SNIF
****= lignes surlignée en jaune.
ps je me demande si "Editionsélectionnertout" en francais ca peut
marcher?????

Nom : MyOle
ControlSource: MyOle

4. Ajouter un bouton de commande, nommé CopyDocument et fixer
sa propriété 'Sur clic' comme suit :

Sub Bouton18_Click()
Dim NewObject As Object
Dim NewDoc As String

' Nom du nouveau document à créer
NewDoc = "TEST.DOC"

' Copie l'objet dans le presse papier
Me!MyOle.Verb = 0
Me!MyOle.Action = 7
****Me!MyOle.Object.Application.WordBasic.Editionsélectionnertout
Me!MyOle.Object.Application.WordBasic.EditionCopier
Me!MyOle.Action = 9
DoEvents

' Crée un nouveau document et colle le contenu du presse papier
' enregistre le document dans le répertoire de Word.

Set NewObject = CreateObject("Word.Basic")
NewObject.FichierNouveau
NewObject.EditionColler
NewObject.FichierEnregistrerSous NewDoc
NewObject.fichierFermer

' Libération de la mémoire utilisée par l'objet

Set NewObject = Nothing

End Sub





merci je vai essayer


les exemples donnés ne concernent pasles champs OLE qui ne sont pas des
champs texte;
pour copier un champ OLE tu trouveras un exemple sur la page :
http://officesystem.access.free.fr/copie_objets_ole.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit
dans le
message de news:
Bon ok j'y suis allé et j'ai adapté le cas 2 et 3 et la... le mieux
que
j'ai
pus faire c'est obtenir une succession de carrées?????

Cela vient il du fait que mon fichier source est un champ oel...

Si oui comment faire.
*En d'autre termes j'ai crer un doc word dans un champ oel que je ne
sais
pas exporter vers un doc word affin de l'imprimer (la fonction print
imprime
la totalité du formulaire et les etats des objet oel n'ont pas la
fonction
autoetandre et auto reduir.....)
Merci d'avance


Bonjour.

tu trouveras un modèle de code pour insérer des valeurs dans des
signets
word sur la page:
http://officesystem.access.free.fr/vba/signets.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"roques bertrand" a écrit dans le message de
news:
41b0d739$0$2299$
J'avais récupéré sur le net l'appli ci après mais ça ne

marche pas: Il faut

dire que je ne sais pas par quoi remplacer "moncode" "code" et
"value"

(lignes que je te marque avec trois ***



GRAND MERCI





il s'agit d'un code pour piloter word depuis access en

ouvrant un document

et en y "collant" les données du formulaire. A noter que dans

le document

word il faut insérer des bookmarks en leur donnant le meme

nom que le champ

que l'on veut exporter. Pour simplifier : le bookmark "données" > >> > >> >
données.value !



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_Ateliertd138td138_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_Ateliertd138" & 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 !"



End Sub



























Avatar
Raymond [mvp]
Bonjour.

un lien hypertexte vers ton document word me semble plus appropié qu'un
champ OLE. Word apporte d'autres possibilités que access en matière de mise
en forme et impression;

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit dans le
message de news:
c'est vrai que presentée comme ça, ma question parait "stupide", MAIS (car
il
ya un mais!) en fait le problème que je n'arrive pas à résoudre simplement
(c'est pourquoi j'en suis arriver à me torturer les neurones!!!) c'est :
j'ai tapé une lettre sous word, je l'ai importée dans un champ ole par vba
copier coller. Mais quand je suis sous access, je click sur mon champ ole,
une page word s'ouvre MAIS (j'y viens à mon problème!) ensuite quand je
click
sur print j'imprime le formulaire entier....et pas seulement mon champ
ole...
de même, si je fais un état pour mon champ ole, celui- ci n'est pas
autoextensible et réductible...ma page word est donc tronquée. D'ou l'idée
que peut-être, peut-être...................une solution? SVP I need some
help
!-)


dans mes exemples il n'est pas question d'exporter un document word vers
word , mais des objets ole (image, pdf, etc..;) vers word; exporter word
vers word me parait un peu superflu.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit dans
le
message de news:
Bon Ok j'ai essayé sur une table exemple d'exporter mon champ ole
contenant
un doc word avec le code ci apres recup la ou tu as dit
Et là... message d'erreur d'execution 438 : propriété ou methode non
genere
par cet objet
J'ai alors essayer d'aouter des referance isual basic (toute celles qui
contenait VBA dans les terme (au pif))sans success.???SNIF
****= lignes surlignée en jaune.
ps je me demande si "Editionsélectionnertout" en francais ca peut
marcher?????

Nom : MyOle
ControlSource: MyOle

4. Ajouter un bouton de commande, nommé CopyDocument et fixer
sa propriété 'Sur clic' comme suit :

Sub Bouton18_Click()
Dim NewObject As Object
Dim NewDoc As String

' Nom du nouveau document à créer
NewDoc = "TEST.DOC"

' Copie l'objet dans le presse papier
Me!MyOle.Verb = 0
Me!MyOle.Action = 7
****Me!MyOle.Object.Application.WordBasic.Editionsélectionnertout
Me!MyOle.Object.Application.WordBasic.EditionCopier
Me!MyOle.Action = 9
DoEvents

' Crée un nouveau document et colle le contenu du presse papier
' enregistre le document dans le répertoire de Word.

Set NewObject = CreateObject("Word.Basic")
NewObject.FichierNouveau
NewObject.EditionColler
NewObject.FichierEnregistrerSous NewDoc
NewObject.fichierFermer

' Libération de la mémoire utilisée par l'objet

Set NewObject = Nothing

End Sub





merci je vai essayer


les exemples donnés ne concernent pasles champs OLE qui ne sont pas
des
champs texte;
pour copier un champ OLE tu trouveras un exemple sur la page :
http://officesystem.access.free.fr/copie_objets_ole.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit
dans le
message de news:

Bon ok j'y suis allé et j'ai adapté le cas 2 et 3 et la... le
mieux
que
j'ai
pus faire c'est obtenir une succession de carrées?????

Cela vient il du fait que mon fichier source est un champ oel...

Si oui comment faire.
*En d'autre termes j'ai crer un doc word dans un champ oel que je
ne
sais
pas exporter vers un doc word affin de l'imprimer (la fonction
print
imprime
la totalité du formulaire et les etats des objet oel n'ont pas la
fonction
autoetandre et auto reduir.....)
Merci d'avance


Bonjour.

tu trouveras un modèle de code pour insérer des valeurs dans des
signets
word sur la page:
http://officesystem.access.free.fr/vba/signets.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"roques bertrand" a écrit dans le message de
news:
41b0d739$0$2299$
J'avais récupéré sur le net l'appli ci après mais ça ne

marche pas: Il faut

dire que je ne sais pas par quoi remplacer "moncode" "code" et
"value"

(lignes que je te marque avec trois ***



GRAND MERCI





il s'agit d'un code pour piloter word depuis access en

ouvrant un document

et en y "collant" les données du formulaire. A noter que dans

le document

word il faut insérer des bookmarks en leur donnant le meme

nom que le champ

que l'on veut exporter. Pour simplifier : le bookmark
"données" >> >> > >> >
données.value !



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_Ateliertd138td138_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_Ateliertd138" & 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 !"



End Sub





























Avatar
bertrand roques
non,(a mon sens) car en fait je vais avoir beaucoup de doc word crée a partir
de model. de plus il se peut dans le temp que le chemin pour ma base access
change et alors il faudrais que je retape tous les liens. L'interet du champ
ole incorporé est l'unitée de lieux des données qui ne peuvent pas etre
"egarées"
j'ai donc rehussi a ouvrir un model word, arecup l'ensemble des donnees dans
un champ ole mais je n'arrive pas a re exporter ce champ ole afin de le
retoucher, le modifier....
Qu'en pense tu?

"Raymond [mvp]" wrote:

Bonjour.

un lien hypertexte vers ton document word me semble plus appropié qu'un
champ OLE. Word apporte d'autres possibilités que access en matière de mise
en forme et impression;

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit dans le
message de news:
c'est vrai que presentée comme ça, ma question parait "stupide", MAIS (car
il
ya un mais!) en fait le problème que je n'arrive pas à résoudre simplement
(c'est pourquoi j'en suis arriver à me torturer les neurones!!!) c'est :
j'ai tapé une lettre sous word, je l'ai importée dans un champ ole par vba
copier coller. Mais quand je suis sous access, je click sur mon champ ole,
une page word s'ouvre MAIS (j'y viens à mon problème!) ensuite quand je
click
sur print j'imprime le formulaire entier....et pas seulement mon champ
ole...
de même, si je fais un état pour mon champ ole, celui- ci n'est pas
autoextensible et réductible...ma page word est donc tronquée. D'ou l'idée
que peut-être, peut-être...................une solution? SVP I need some
help
!-)


dans mes exemples il n'est pas question d'exporter un document word vers
word , mais des objets ole (image, pdf, etc..;) vers word; exporter word
vers word me parait un peu superflu.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit dans
le
message de news:
Bon Ok j'ai essayé sur une table exemple d'exporter mon champ ole
contenant
un doc word avec le code ci apres recup la ou tu as dit
Et là... message d'erreur d'execution 438 : propriété ou methode non
genere
par cet objet
J'ai alors essayer d'aouter des referance isual basic (toute celles qui
contenait VBA dans les terme (au pif))sans success.???SNIF
****= lignes surlignée en jaune.
ps je me demande si "Editionsélectionnertout" en francais ca peut
marcher?????

Nom : MyOle
ControlSource: MyOle

4. Ajouter un bouton de commande, nommé CopyDocument et fixer
sa propriété 'Sur clic' comme suit :

Sub Bouton18_Click()
Dim NewObject As Object
Dim NewDoc As String

' Nom du nouveau document à créer
NewDoc = "TEST.DOC"

' Copie l'objet dans le presse papier
Me!MyOle.Verb = 0
Me!MyOle.Action = 7
****Me!MyOle.Object.Application.WordBasic.Editionsélectionnertout
Me!MyOle.Object.Application.WordBasic.EditionCopier
Me!MyOle.Action = 9
DoEvents

' Crée un nouveau document et colle le contenu du presse papier
' enregistre le document dans le répertoire de Word.

Set NewObject = CreateObject("Word.Basic")
NewObject.FichierNouveau
NewObject.EditionColler
NewObject.FichierEnregistrerSous NewDoc
NewObject.fichierFermer

' Libération de la mémoire utilisée par l'objet

Set NewObject = Nothing

End Sub





merci je vai essayer


les exemples donnés ne concernent pasles champs OLE qui ne sont pas
des
champs texte;
pour copier un champ OLE tu trouveras un exemple sur la page :
http://officesystem.access.free.fr/copie_objets_ole.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit
dans le
message de news:

Bon ok j'y suis allé et j'ai adapté le cas 2 et 3 et la... le
mieux
que
j'ai
pus faire c'est obtenir une succession de carrées?????

Cela vient il du fait que mon fichier source est un champ oel...

Si oui comment faire.
*En d'autre termes j'ai crer un doc word dans un champ oel que je
ne
sais
pas exporter vers un doc word affin de l'imprimer (la fonction
print
imprime
la totalité du formulaire et les etats des objet oel n'ont pas la
fonction
autoetandre et auto reduir.....)
Merci d'avance


Bonjour.

tu trouveras un modèle de code pour insérer des valeurs dans des
signets
word sur la page:
http://officesystem.access.free.fr/vba/signets.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"roques bertrand" a écrit dans le message de
news:
41b0d739$0$2299$
J'avais récupéré sur le net l'appli ci après mais ça ne

marche pas: Il faut

dire que je ne sais pas par quoi remplacer "moncode" "code" et
"value"

(lignes que je te marque avec trois ***



GRAND MERCI





il s'agit d'un code pour piloter word depuis access en

ouvrant un document

et en y "collant" les données du formulaire. A noter que dans

le document

word il faut insérer des bookmarks en leur donnant le meme

nom que le champ

que l'on veut exporter. Pour simplifier : le bookmark
"données" > >> >> > >> >
données.value !



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_Ateliertd138td138_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_Ateliertd138" & 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 !"



End Sub


































Avatar
Raymond [mvp]
Pour le modifier, il ne faut pas le ré-exporter mais double-cliquer sur
l'objet ole qui contient le document word. Word sera automatiquement ouvert
avec le document.

je tiens à te prévénir que les objets OLE incorporés quels qu'ils soient
font grossir la base à très grande vitesse et que tu va te retrouver avec
une base énorme.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit dans le
message de news:
non,(a mon sens) car en fait je vais avoir beaucoup de doc word crée a
partir
de model. de plus il se peut dans le temp que le chemin pour ma base
access
change et alors il faudrais que je retape tous les liens. L'interet du
champ
ole incorporé est l'unitée de lieux des données qui ne peuvent pas etre
"egarées"
j'ai donc rehussi a ouvrir un model word, arecup l'ensemble des donnees
dans
un champ ole mais je n'arrive pas a re exporter ce champ ole afin de le
retoucher, le modifier....
Qu'en pense tu?

"Raymond [mvp]" wrote:

Bonjour.

un lien hypertexte vers ton document word me semble plus appropié qu'un
champ OLE. Word apporte d'autres possibilités que access en matière de
mise
en forme et impression;

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit dans
le
message de news:
c'est vrai que presentée comme ça, ma question parait "stupide", MAIS
(car
il
ya un mais!) en fait le problème que je n'arrive pas à résoudre
simplement
(c'est pourquoi j'en suis arriver à me torturer les neurones!!!) c'est
:
j'ai tapé une lettre sous word, je l'ai importée dans un champ ole par
vba
copier coller. Mais quand je suis sous access, je click sur mon champ
ole,
une page word s'ouvre MAIS (j'y viens à mon problème!) ensuite quand je
click
sur print j'imprime le formulaire entier....et pas seulement mon champ
ole...
de même, si je fais un état pour mon champ ole, celui- ci n'est pas
autoextensible et réductible...ma page word est donc tronquée. D'ou
l'idée
que peut-être, peut-être...................une solution? SVP I need
some
help
!-)


dans mes exemples il n'est pas question d'exporter un document word
vers
word , mais des objets ole (image, pdf, etc..;) vers word; exporter
word
vers word me parait un peu superflu.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a écrit
dans
le
message de news:
Bon Ok j'ai essayé sur une table exemple d'exporter mon champ ole
contenant
un doc word avec le code ci apres recup la ou tu as dit
Et là... message d'erreur d'execution 438 : propriété ou methode non
genere
par cet objet
J'ai alors essayer d'aouter des referance isual basic (toute celles
qui
contenait VBA dans les terme (au pif))sans success.???SNIF
****= lignes surlignée en jaune.
ps je me demande si "Editionsélectionnertout" en francais ca peut
marcher?????

Nom : MyOle
ControlSource: MyOle

4. Ajouter un bouton de commande, nommé CopyDocument et fixer
sa propriété 'Sur clic' comme suit :

Sub Bouton18_Click()
Dim NewObject As Object
Dim NewDoc As String

' Nom du nouveau document à créer
NewDoc = "TEST.DOC"

' Copie l'objet dans le presse papier
Me!MyOle.Verb = 0
Me!MyOle.Action = 7
****Me!MyOle.Object.Application.WordBasic.Editionsélectionnertout
Me!MyOle.Object.Application.WordBasic.EditionCopier
Me!MyOle.Action = 9
DoEvents

' Crée un nouveau document et colle le contenu du presse papier
' enregistre le document dans le répertoire de Word.

Set NewObject = CreateObject("Word.Basic")
NewObject.FichierNouveau
NewObject.EditionColler
NewObject.FichierEnregistrerSous NewDoc
NewObject.fichierFermer

' Libération de la mémoire utilisée par l'objet

Set NewObject = Nothing

End Sub





merci je vai essayer


les exemples donnés ne concernent pasles champs OLE qui ne sont
pas
des
champs texte;
pour copier un champ OLE tu trouveras un exemple sur la page :
http://officesystem.access.free.fr/copie_objets_ole.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"bertrand roques" a
écrit
dans le
message de news:

Bon ok j'y suis allé et j'ai adapté le cas 2 et 3 et la... le
mieux
que
j'ai
pus faire c'est obtenir une succession de carrées?????

Cela vient il du fait que mon fichier source est un champ
oel...

Si oui comment faire.
*En d'autre termes j'ai crer un doc word dans un champ oel que
je
ne
sais
pas exporter vers un doc word affin de l'imprimer (la fonction
print
imprime
la totalité du formulaire et les etats des objet oel n'ont pas
la
fonction
autoetandre et auto reduir.....)
Merci d'avance


Bonjour.

tu trouveras un modèle de code pour insérer des valeurs dans
des
signets
word sur la page:
http://officesystem.access.free.fr/vba/signets.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"roques bertrand" a écrit dans le message
de
news:
41b0d739$0$2299$
J'avais récupéré sur le net l'appli ci après mais ça ne

marche pas: Il faut

dire que je ne sais pas par quoi remplacer "moncode" "code"
et
"value"

(lignes que je te marque avec trois ***



GRAND MERCI





il s'agit d'un code pour piloter word depuis access en

ouvrant un document

et en y "collant" les données du formulaire. A noter que
dans

le document

word il faut insérer des bookmarks en leur donnant le meme

nom que le champ

que l'on veut exporter. Pour simplifier : le bookmark
"données" >> >> >> > >> >
données.value !



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_Ateliertd138td138_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_Ateliertd138" &
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 !"



End Sub




































1 2