Je fusionne des informations depuis une base Access vers des modèles Word.
Il s'agit de générer des documents commerciaux à partir d'une fiche client.
Je récupère les infos dans la base de la façon suivante :
Dim oApp As Object
Set oApp = CreateObject("Word.Application")
oApp.Documents.Add Template:=chemin, NewTemplate:=False, DocumentType:=0
oApp.ActiveDocument.Variables("Ens") = nzs(Ens)
L'info est récupérée dans le doc Word par une variable {DOCVARIABLE Ens}
Mon problème : Je récupère des infos stockées dans des champs Memo contenant
des retours à la ligne. Une fois fusionnés, les retours chariots sont mal
interprétés par Word et s'affichent sous forme de petits carrés (sans pour
autant créer le retour). Comment faire pour que Word comprennent le retour de
façon conforme ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonsoir.
le retour chariot normal est composé des caratères 13 et 10. le champ mémo ne doit contenir que le caractère 13, il faudraoit lzez compléter avant le transfert avec loa fonction replace replace(memo, chr(13), vbcrlf) il est possible que ce soit le caractère 10 qui soit placé dans le mémo, dans ce modifier le replace. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Bonjour à tous,
Je fusionne des informations depuis une base Access vers des modèles Word. Il s'agit de générer des documents commerciaux à partir d'une fiche client.
Je récupère les infos dans la base de la façon suivante : Dim oApp As Object Set oApp = CreateObject("Word.Application") oApp.Documents.Add Template:=chemin, NewTemplate:úlse, DocumentType:=0 oApp.ActiveDocument.Variables("Ens") = nzs(Ens)
L'info est récupérée dans le doc Word par une variable {DOCVARIABLE Ens}
Mon problème : Je récupère des infos stockées dans des champs Memo contenant des retours à la ligne. Une fois fusionnés, les retours chariots sont mal interprétés par Word et s'affichent sous forme de petits carrés (sans pour autant créer le retour). Comment faire pour que Word comprennent le retour de façon conforme ?
En vous remerciant par avance pour vios réponses.
Bonsoir.
le retour chariot normal est composé des caratères 13 et 10.
le champ mémo ne doit contenir que le caractère 13, il faudraoit lzez
compléter avant le transfert avec loa fonction replace
replace(memo, chr(13), vbcrlf)
il est possible que ce soit le caractère 10 qui soit placé dans le mémo,
dans ce modifier le replace.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" <EmmanuelG@discussions.microsoft.com> a écrit dans le message
de news: D2534C55-0936-47C3-AF54-E767103440D7@microsoft.com...
Bonjour à tous,
Je fusionne des informations depuis une base Access vers des modèles Word.
Il s'agit de générer des documents commerciaux à partir d'une fiche
client.
Je récupère les infos dans la base de la façon suivante :
Dim oApp As Object
Set oApp = CreateObject("Word.Application")
oApp.Documents.Add Template:=chemin, NewTemplate:úlse, DocumentType:=0
oApp.ActiveDocument.Variables("Ens") = nzs(Ens)
L'info est récupérée dans le doc Word par une variable {DOCVARIABLE Ens}
Mon problème : Je récupère des infos stockées dans des champs Memo
contenant
des retours à la ligne. Une fois fusionnés, les retours chariots sont mal
interprétés par Word et s'affichent sous forme de petits carrés (sans pour
autant créer le retour). Comment faire pour que Word comprennent le retour
de
façon conforme ?
le retour chariot normal est composé des caratères 13 et 10. le champ mémo ne doit contenir que le caractère 13, il faudraoit lzez compléter avant le transfert avec loa fonction replace replace(memo, chr(13), vbcrlf) il est possible que ce soit le caractère 10 qui soit placé dans le mémo, dans ce modifier le replace. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Bonjour à tous,
Je fusionne des informations depuis une base Access vers des modèles Word. Il s'agit de générer des documents commerciaux à partir d'une fiche client.
Je récupère les infos dans la base de la façon suivante : Dim oApp As Object Set oApp = CreateObject("Word.Application") oApp.Documents.Add Template:=chemin, NewTemplate:úlse, DocumentType:=0 oApp.ActiveDocument.Variables("Ens") = nzs(Ens)
L'info est récupérée dans le doc Word par une variable {DOCVARIABLE Ens}
Mon problème : Je récupère des infos stockées dans des champs Memo contenant des retours à la ligne. Une fois fusionnés, les retours chariots sont mal interprétés par Word et s'affichent sous forme de petits carrés (sans pour autant créer le retour). Comment faire pour que Word comprennent le retour de façon conforme ?
En vous remerciant par avance pour vios réponses.
Emmanuel G
Merci beaucoup Raymond. Cela fonctionne mais a moitié seulement.
Je l'ai appliquée de la façon suivante : Function nzs(s) As String r = s r = Replace(r, Chr(13) & Chr(10), Chr(13)) End Function
Le problème est que cela remplace bien le premier retour dans le memo mais pas les suivants.
Bonsoir.
le retour chariot normal est composé des caratères 13 et 10. le champ mémo ne doit contenir que le caractère 13, il faudraoit lzez compléter avant le transfert avec loa fonction replace replace(memo, chr(13), vbcrlf) il est possible que ce soit le caractère 10 qui soit placé dans le mémo, dans ce modifier le replace. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Bonjour à tous,
Je fusionne des informations depuis une base Access vers des modèles Word. Il s'agit de générer des documents commerciaux à partir d'une fiche client.
Je récupère les infos dans la base de la façon suivante : Dim oApp As Object Set oApp = CreateObject("Word.Application") oApp.Documents.Add Template:=chemin, NewTemplate:úlse, DocumentType:=0 oApp.ActiveDocument.Variables("Ens") = nzs(Ens)
L'info est récupérée dans le doc Word par une variable {DOCVARIABLE Ens}
Mon problème : Je récupère des infos stockées dans des champs Memo contenant des retours à la ligne. Une fois fusionnés, les retours chariots sont mal interprétés par Word et s'affichent sous forme de petits carrés (sans pour autant créer le retour). Comment faire pour que Word comprennent le retour de façon conforme ?
En vous remerciant par avance pour vios réponses.
Merci beaucoup Raymond.
Cela fonctionne mais a moitié seulement.
Je l'ai appliquée de la façon suivante :
Function nzs(s) As String
r = s
r = Replace(r, Chr(13) & Chr(10), Chr(13))
End Function
Le problème est que cela remplace bien le premier retour dans le memo mais
pas les suivants.
Bonsoir.
le retour chariot normal est composé des caratères 13 et 10.
le champ mémo ne doit contenir que le caractère 13, il faudraoit lzez
compléter avant le transfert avec loa fonction replace
replace(memo, chr(13), vbcrlf)
il est possible que ce soit le caractère 10 qui soit placé dans le mémo,
dans ce modifier le replace.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" <EmmanuelG@discussions.microsoft.com> a écrit dans le message
de news: D2534C55-0936-47C3-AF54-E767103440D7@microsoft.com...
Bonjour à tous,
Je fusionne des informations depuis une base Access vers des modèles Word.
Il s'agit de générer des documents commerciaux à partir d'une fiche
client.
Je récupère les infos dans la base de la façon suivante :
Dim oApp As Object
Set oApp = CreateObject("Word.Application")
oApp.Documents.Add Template:=chemin, NewTemplate:úlse, DocumentType:=0
oApp.ActiveDocument.Variables("Ens") = nzs(Ens)
L'info est récupérée dans le doc Word par une variable {DOCVARIABLE Ens}
Mon problème : Je récupère des infos stockées dans des champs Memo
contenant
des retours à la ligne. Une fois fusionnés, les retours chariots sont mal
interprétés par Word et s'affichent sous forme de petits carrés (sans pour
autant créer le retour). Comment faire pour que Word comprennent le retour
de
façon conforme ?
Merci beaucoup Raymond. Cela fonctionne mais a moitié seulement.
Je l'ai appliquée de la façon suivante : Function nzs(s) As String r = s r = Replace(r, Chr(13) & Chr(10), Chr(13)) End Function
Le problème est que cela remplace bien le premier retour dans le memo mais pas les suivants.
Bonsoir.
le retour chariot normal est composé des caratères 13 et 10. le champ mémo ne doit contenir que le caractère 13, il faudraoit lzez compléter avant le transfert avec loa fonction replace replace(memo, chr(13), vbcrlf) il est possible que ce soit le caractère 10 qui soit placé dans le mémo, dans ce modifier le replace. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Bonjour à tous,
Je fusionne des informations depuis une base Access vers des modèles Word. Il s'agit de générer des documents commerciaux à partir d'une fiche client.
Je récupère les infos dans la base de la façon suivante : Dim oApp As Object Set oApp = CreateObject("Word.Application") oApp.Documents.Add Template:=chemin, NewTemplate:úlse, DocumentType:=0 oApp.ActiveDocument.Variables("Ens") = nzs(Ens)
L'info est récupérée dans le doc Word par une variable {DOCVARIABLE Ens}
Mon problème : Je récupère des infos stockées dans des champs Memo contenant des retours à la ligne. Une fois fusionnés, les retours chariots sont mal interprétés par Word et s'affichent sous forme de petits carrés (sans pour autant créer le retour). Comment faire pour que Word comprennent le retour de façon conforme ?
En vous remerciant par avance pour vios réponses.
Raymond [mvp]
tu déclares r où ? tu appelles ta fonction comment ? car dans ta fonction tu n'as pas de retour, donc r doit être Public.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Merci beaucoup Raymond. Cela fonctionne mais a moitié seulement.
Je l'ai appliquée de la façon suivante : Function nzs(s) As String r = s r = Replace(r, Chr(13) & Chr(10), Chr(13)) End Function
Le problème est que cela remplace bien le premier retour dans le memo mais pas les suivants.
tu déclares r où ?
tu appelles ta fonction comment ? car dans ta fonction tu n'as pas de
retour, donc r doit être Public.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" <EmmanuelG@discussions.microsoft.com> a écrit dans le message
de news: FC1E8B7B-61F8-436C-8246-9566D70C16C0@microsoft.com...
Merci beaucoup Raymond.
Cela fonctionne mais a moitié seulement.
Je l'ai appliquée de la façon suivante :
Function nzs(s) As String
r = s
r = Replace(r, Chr(13) & Chr(10), Chr(13))
End Function
Le problème est que cela remplace bien le premier retour dans le memo mais
pas les suivants.
tu déclares r où ? tu appelles ta fonction comment ? car dans ta fonction tu n'as pas de retour, donc r doit être Public.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Merci beaucoup Raymond. Cela fonctionne mais a moitié seulement.
Je l'ai appliquée de la façon suivante : Function nzs(s) As String r = s r = Replace(r, Chr(13) & Chr(10), Chr(13)) End Function
Le problème est que cela remplace bien le premier retour dans le memo mais pas les suivants.
Emmanuel G
Autant pour moi, je ne t'ai pas mis la totalité de la fonction qui me serre également à compléter des chaines vides :
Function nzs(s) As String r = s If IsNull(s) Then r = "À compléter" r = Replace(r, Chr(13) & Chr(10), Chr(13)) nzs = r End Function
tu déclares r où ? tu appelles ta fonction comment ? car dans ta fonction tu n'as pas de retour, donc r doit être Public.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Merci beaucoup Raymond. Cela fonctionne mais a moitié seulement.
Je l'ai appliquée de la façon suivante : Function nzs(s) As String r = s r = Replace(r, Chr(13) & Chr(10), Chr(13)) End Function
Le problème est que cela remplace bien le premier retour dans le memo mais pas les suivants.
Autant pour moi, je ne t'ai pas mis la totalité de la fonction qui me serre
également à compléter des chaines vides :
Function nzs(s) As String
r = s
If IsNull(s) Then r = "À compléter"
r = Replace(r, Chr(13) & Chr(10), Chr(13))
nzs = r
End Function
tu déclares r où ?
tu appelles ta fonction comment ? car dans ta fonction tu n'as pas de
retour, donc r doit être Public.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" <EmmanuelG@discussions.microsoft.com> a écrit dans le message
de news: FC1E8B7B-61F8-436C-8246-9566D70C16C0@microsoft.com...
Merci beaucoup Raymond.
Cela fonctionne mais a moitié seulement.
Je l'ai appliquée de la façon suivante :
Function nzs(s) As String
r = s
r = Replace(r, Chr(13) & Chr(10), Chr(13))
End Function
Le problème est que cela remplace bien le premier retour dans le memo mais
pas les suivants.
Autant pour moi, je ne t'ai pas mis la totalité de la fonction qui me serre également à compléter des chaines vides :
Function nzs(s) As String r = s If IsNull(s) Then r = "À compléter" r = Replace(r, Chr(13) & Chr(10), Chr(13)) nzs = r End Function
tu déclares r où ? tu appelles ta fonction comment ? car dans ta fonction tu n'as pas de retour, donc r doit être Public.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Merci beaucoup Raymond. Cela fonctionne mais a moitié seulement.
Je l'ai appliquée de la façon suivante : Function nzs(s) As String r = s r = Replace(r, Chr(13) & Chr(10), Chr(13)) End Function
Le problème est que cela remplace bien le premier retour dans le memo mais pas les suivants.
Raymond [mvp]
c'est bon comme ça, mais tu peux faire plus court:
Function nzs(s) As String nzs = Replace(Nz(s, "À compléter"), Chr(13) & Chr(10), Chr(13)) End Function
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Autant pour moi, je ne t'ai pas mis la totalité de la fonction qui me serre également à compléter des chaines vides :
Function nzs(s) As String r = s If IsNull(s) Then r = "À compléter" r = Replace(r, Chr(13) & Chr(10), Chr(13)) nzs = r End Function
c'est bon comme ça, mais tu peux faire plus court:
Function nzs(s) As String
nzs = Replace(Nz(s, "À compléter"), Chr(13) & Chr(10), Chr(13))
End Function
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" <EmmanuelG@discussions.microsoft.com> a écrit dans le message
de news: 3571DDD0-66B2-4B46-B15D-21CBDC6933E2@microsoft.com...
Autant pour moi, je ne t'ai pas mis la totalité de la fonction qui me
serre
également à compléter des chaines vides :
Function nzs(s) As String
r = s
If IsNull(s) Then r = "À compléter"
r = Replace(r, Chr(13) & Chr(10), Chr(13))
nzs = r
End Function
c'est bon comme ça, mais tu peux faire plus court:
Function nzs(s) As String nzs = Replace(Nz(s, "À compléter"), Chr(13) & Chr(10), Chr(13)) End Function
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Autant pour moi, je ne t'ai pas mis la totalité de la fonction qui me serre également à compléter des chaines vides :
Function nzs(s) As String r = s If IsNull(s) Then r = "À compléter" r = Replace(r, Chr(13) & Chr(10), Chr(13)) nzs = r End Function
Emmanuel G
Merci, c'est effectivement beaucoup plus propre. Mais ça ne solutionne pas mon problème :
Cela fonctionne pour le premier remplacement mais j'ai plusieurs champs memo contenant chacun plusieurs retours à la ligne. La fonction corige bien le probleme sur le premeir mais par sur les suivants.
c'est bon comme ça, mais tu peux faire plus court:
Function nzs(s) As String nzs = Replace(Nz(s, "À compléter"), Chr(13) & Chr(10), Chr(13)) End Function
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Autant pour moi, je ne t'ai pas mis la totalité de la fonction qui me serre également à compléter des chaines vides :
Function nzs(s) As String r = s If IsNull(s) Then r = "À compléter" r = Replace(r, Chr(13) & Chr(10), Chr(13)) nzs = r End Function
Merci, c'est effectivement beaucoup plus propre.
Mais ça ne solutionne pas mon problème :
Cela fonctionne pour le premier remplacement mais j'ai plusieurs champs memo
contenant chacun plusieurs retours à la ligne. La fonction corige bien le
probleme sur le premeir mais par sur les suivants.
c'est bon comme ça, mais tu peux faire plus court:
Function nzs(s) As String
nzs = Replace(Nz(s, "À compléter"), Chr(13) & Chr(10), Chr(13))
End Function
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" <EmmanuelG@discussions.microsoft.com> a écrit dans le message
de news: 3571DDD0-66B2-4B46-B15D-21CBDC6933E2@microsoft.com...
Autant pour moi, je ne t'ai pas mis la totalité de la fonction qui me
serre
également à compléter des chaines vides :
Function nzs(s) As String
r = s
If IsNull(s) Then r = "À compléter"
r = Replace(r, Chr(13) & Chr(10), Chr(13))
nzs = r
End Function
Merci, c'est effectivement beaucoup plus propre. Mais ça ne solutionne pas mon problème :
Cela fonctionne pour le premier remplacement mais j'ai plusieurs champs memo contenant chacun plusieurs retours à la ligne. La fonction corige bien le probleme sur le premeir mais par sur les suivants.
c'est bon comme ça, mais tu peux faire plus court:
Function nzs(s) As String nzs = Replace(Nz(s, "À compléter"), Chr(13) & Chr(10), Chr(13)) End Function
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Autant pour moi, je ne t'ai pas mis la totalité de la fonction qui me serre également à compléter des chaines vides :
Function nzs(s) As String r = s If IsNull(s) Then r = "À compléter" r = Replace(r, Chr(13) & Chr(10), Chr(13)) nzs = r End Function
Emmanuel G
Je viens de constater un élément complémentaire du comportement : Le bouton lancant la fusion se situe dans un formulaire indépendant dont l'ouverture est déclanchée depuis le formulaire principal. Les informations à fusionner se trouvent pour certaines dans le formulaire principal pour d'autres dans le formaulaire indépendant. La fonction agit très bien sur les champs du formulaire principal mais pas sur celles du formulaire indépendant. J'ai testé en changeant les proprietés (modale, indépendant) du formulaire mais rien n'y fait. Cela peut-il jouer ?
Bonjour à tous,
Je fusionne des informations depuis une base Access vers des modèles Word. Il s'agit de générer des documents commerciaux à partir d'une fiche client.
Je récupère les infos dans la base de la façon suivante : Dim oApp As Object Set oApp = CreateObject("Word.Application") oApp.Documents.Add Template:=chemin, NewTemplate:úlse, DocumentType:=0 oApp.ActiveDocument.Variables("Ens") = nzs(Ens)
L'info est récupérée dans le doc Word par une variable {DOCVARIABLE Ens}
Mon problème : Je récupère des infos stockées dans des champs Memo contenant des retours à la ligne. Une fois fusionnés, les retours chariots sont mal interprétés par Word et s'affichent sous forme de petits carrés (sans pour autant créer le retour). Comment faire pour que Word comprennent le retour de façon conforme ?
En vous remerciant par avance pour vios réponses.
Je viens de constater un élément complémentaire du comportement : Le bouton
lancant la fusion se situe dans un formulaire indépendant dont l'ouverture
est déclanchée depuis le formulaire principal. Les informations à fusionner
se trouvent pour certaines dans le formulaire principal pour d'autres dans le
formaulaire indépendant.
La fonction agit très bien sur les champs du formulaire principal mais pas
sur celles du formulaire indépendant. J'ai testé en changeant les proprietés
(modale, indépendant) du formulaire mais rien n'y fait.
Cela peut-il jouer ?
Bonjour à tous,
Je fusionne des informations depuis une base Access vers des modèles Word.
Il s'agit de générer des documents commerciaux à partir d'une fiche client.
Je récupère les infos dans la base de la façon suivante :
Dim oApp As Object
Set oApp = CreateObject("Word.Application")
oApp.Documents.Add Template:=chemin, NewTemplate:úlse, DocumentType:=0
oApp.ActiveDocument.Variables("Ens") = nzs(Ens)
L'info est récupérée dans le doc Word par une variable {DOCVARIABLE Ens}
Mon problème : Je récupère des infos stockées dans des champs Memo contenant
des retours à la ligne. Une fois fusionnés, les retours chariots sont mal
interprétés par Word et s'affichent sous forme de petits carrés (sans pour
autant créer le retour). Comment faire pour que Word comprennent le retour de
façon conforme ?
Je viens de constater un élément complémentaire du comportement : Le bouton lancant la fusion se situe dans un formulaire indépendant dont l'ouverture est déclanchée depuis le formulaire principal. Les informations à fusionner se trouvent pour certaines dans le formulaire principal pour d'autres dans le formaulaire indépendant. La fonction agit très bien sur les champs du formulaire principal mais pas sur celles du formulaire indépendant. J'ai testé en changeant les proprietés (modale, indépendant) du formulaire mais rien n'y fait. Cela peut-il jouer ?
Bonjour à tous,
Je fusionne des informations depuis une base Access vers des modèles Word. Il s'agit de générer des documents commerciaux à partir d'une fiche client.
Je récupère les infos dans la base de la façon suivante : Dim oApp As Object Set oApp = CreateObject("Word.Application") oApp.Documents.Add Template:=chemin, NewTemplate:úlse, DocumentType:=0 oApp.ActiveDocument.Variables("Ens") = nzs(Ens)
L'info est récupérée dans le doc Word par une variable {DOCVARIABLE Ens}
Mon problème : Je récupère des infos stockées dans des champs Memo contenant des retours à la ligne. Une fois fusionnés, les retours chariots sont mal interprétés par Word et s'affichent sous forme de petits carrés (sans pour autant créer le retour). Comment faire pour que Word comprennent le retour de façon conforme ?
En vous remerciant par avance pour vios réponses.
Raymond [mvp]
Comment appelles-tu la fonction ? et l'appelles-tu bien pour chaque champ mémo ?
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Merci, c'est effectivement beaucoup plus propre. Mais ça ne solutionne pas mon problème :
Cela fonctionne pour le premier remplacement mais j'ai plusieurs champs memo contenant chacun plusieurs retours à la ligne. La fonction corige bien le probleme sur le premeir mais par sur les suivants.
c'est bon comme ça, mais tu peux faire plus court:
Function nzs(s) As String nzs = Replace(Nz(s, "À compléter"), Chr(13) & Chr(10), Chr(13)) End Function
--
Comment appelles-tu la fonction ? et l'appelles-tu bien pour chaque champ
mémo ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" <EmmanuelG@discussions.microsoft.com> a écrit dans le message
de news: 4114F33F-BAC1-4710-AC3C-E80DB62D00D6@microsoft.com...
Merci, c'est effectivement beaucoup plus propre.
Mais ça ne solutionne pas mon problème :
Cela fonctionne pour le premier remplacement mais j'ai plusieurs champs
memo
contenant chacun plusieurs retours à la ligne. La fonction corige bien le
probleme sur le premeir mais par sur les suivants.
c'est bon comme ça, mais tu peux faire plus court:
Function nzs(s) As String
nzs = Replace(Nz(s, "À compléter"), Chr(13) & Chr(10), Chr(13))
End Function
Comment appelles-tu la fonction ? et l'appelles-tu bien pour chaque champ mémo ?
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Emmanuel G" a écrit dans le message de news:
Merci, c'est effectivement beaucoup plus propre. Mais ça ne solutionne pas mon problème :
Cela fonctionne pour le premier remplacement mais j'ai plusieurs champs memo contenant chacun plusieurs retours à la ligne. La fonction corige bien le probleme sur le premeir mais par sur les suivants.
c'est bon comme ça, mais tu peux faire plus court:
Function nzs(s) As String nzs = Replace(Nz(s, "À compléter"), Chr(13) & Chr(10), Chr(13)) End Function