Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fusion ds plusieurs fichiers

15 réponses
Avatar
MCA
Bonjour,
J'aimerais fusionner mes lettres dans autant de fichiers qu'il y a de
destinataires (et non un fichier global). Est-ce possible ?

Merci de votre aide

--
MCA

5 réponses

1 2
Avatar
Circé
Bonjour,

Tout s'explique !
C'était en fait bien la macro qui était sur mon site... Et il y a bien
des signets prédéfinis pour Page, sauf que, une fois de plus, le guppy
avait avalé l'antislash ! ()

Circé
http://faqword.fr

MCA a écrit :
Bonjour Circé et heureux-oli,
Merci à vous deux de vous être penché sur mon problème.
En fait, j'ai trouvé la réponse sur le site du support de MICROSOFT, voici
le lien ci-après :

http://support.microsoft.com/default.aspx/kb/306348/fr

J'ai essayé et cela a fonctionné.

Encore merci à vous et je garde quand même vos codes "sous le coude".


--
MCA


"heureux-oli" a écrit :

Salut Circé,

Voilà ce que je viens d'écrire pour enregistrer chaque page dans un document
séparé.
Sachant que les page ne sont pas des objets en VBA Word, il faut bidouiller
un peu
Ça ne fonctionne que pour du texte et des inlineshapes, pour des shapes, le
code devient tout de suite une usine à gaz et j'ai pas fait.

Sub SeparerPages()
Dim intPage As Integer 'pour la page en cours
Dim intDoc As Integer 'pour le document

intDoc = 0

Do
intDoc = intDoc + 1 'définit le no qui sera donné au document
'on se rend à la seconde page et on recule d'un caractère
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2
Selection.MoveLeft Unit:=wdCharacter, Count:=1
'On sélectionne de la fin de la page au début du document
Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
'on coupe
Selection.Cut
'on ajoute un nouveau document
Application.Documents.Add
'on colle
Selection.Paste
'on sauve
ActiveDocument.SaveAs "c:tempdocument" & intDoc
'on ferme
ActiveDocument.Close
'tant qu'il reste plus d'une page on recommence
Loop While Selection.Information(wdNumberOfPagesInDocument) > 1
'C'est la dernière page
ActiveDocument.SaveAs "c:tempdocument" & intDoc + 1

End Sub


Je demande pardon pour les objets sélection utilisés ! :-)


--
Heureux-oli
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"Circé" a écrit dans le message de news:

Bonjour,

Cette macro est depuis très longtemps dans la faq. Je viens de la regarder
et en fait, elle a peut être fonctionné avec d'anciennes versions, mais là
j'ai un gros doute, car elle est basée sur des signets cachés Section, or
a priori ça n'existe pas... :-s

Geo ou Heureux-Oli pourront peut être confirmer...

Donc, je vais la remplacer par une autre qui a été écrite par anacoluthe
et que j'ai un peu modifié. Elle fonctionne parfaitement.

Cela dit, ça n'explique pas pourquoi chez toi ça ne fait "rien"... Car en
fait de ne rien faire, tu devrais tomber sur une erreur !

Et pour couronner le tout, la faq ne répond plus... Pfffuittt !

En attendant, je te la mets ici :

Sub SectionsDansDocumentsSéparés()
Application.ScreenUpdating = False

Dim SousDoc As Document
Dim R As Range
Dim S As Section
Dim DocNum

For Each S In ActiveDocument.Sections
Set R = S.Range: R.End = R.End - 1
Set SousDoc = Documents.Add
ChangeFileOpenDirectory "C:"
With SousDoc
DocNum = DocNum + 1
.Content = R
.SaveAs FileName:="test_" & DocNum & ".docx"
.Close
End With
Next S

Set SousDoc = Nothing
Set R = Nothing
Set S = Nothing
Application.ScreenUpdating = False

End Sub

Tu mets la macro dans ton doc, tu l'enregistres en format docm dans un
emplacement approuvé.

Circé
http://faqword.fr


Le 27/01/2009, MCA a supposé :
Circé
Dans word2007, je ne vois pas où on peut mettre le niveau (bas, moyen,
élevé..).

J'ai bien activé les macros dans :
BOUTON OFFICE/Options WORD/Centre de gestion de la
confidentialité/Paramètres du Centre de gestion de la
confidentialité/Paramètres des macros/Activer toutes les macros

et rajouté un emplacement réservé dans :
BOUTON OFFICE/Options WORD/Centre de gestion de la
confidentialité/Paramètres du Centre de gestion de la
confidentialité/Paramètres des macros/Emplacements approuvés

J'ai bien pris la 2ème macro avec les sauts de section.

Cela ne marche toujours pas.
--
MCA


"Circé" a écrit :

Bonjour MCA,

Tout d'abord, as tu mis le niveau de sécurité macro sur Moyen et non sur
Elevé, et as tu activé les macros ?

As-tu bien pris la seconde macro (la première fonctionne avec des sauts
de page, hors dans un doc issu du publipostage, il s'agit de sauts de
section

MCA a formulé ce mardi :
Merci Circé de ta réponse.
J'ai essayé mais cela ne fonctionne pas. Rien ne se passe.

J'ai procédé de la façon suivante :
1-J'ai enregistré une nouvelle macro que j'ai arrêté dès le début.



Euh... pour quoi faire ???

2-Je l'ai ouverte et ai copié ta macro et enregistré (j'ai modifié le
dossier C: en D:temp)



OK pour le dossier, car mon ancienne appli m'avalait les , tu as donc
bien fait de rétablir...

Circé
http://faqword.fr

3-J'ai ouvert le fichier à séparer en autant de fichiers word que de
destinataires et cliquer sur la macro.

Une idée ?

--
MCA


"Circé" a écrit :

Bonjour,

Ce n'est pas prévu, mais une macro peut le faire après coup. Regarde
ici :
http://faqword.fr/index.php/wfaq/51-wvba/552

Circé
http://faqword.fr


MCA a exposé le 26/01/2009 :
Bonjour,
J'aimerais fusionner mes lettres dans autant de fichiers qu'il y a de
destinataires (et non un fichier global). Est-ce possible ?

Merci de votre aide


























Avatar
MCA
Circé,
J'ai un petit souci quand même. Tous mes documents générés ont
systématiquement un espace avant (12pt), ce qui fait que mes lignes sont
espacées.
D'ailleurs, dès que je veux créer un nouveau document dans word, j'ai ce
fameux espace que je n'arrive pas à enlever.
Est-ce que c'est dans mon modèle normal.dot qu'il faut que je modifie ? SI
oui, comment faire ? (je suis sous word2007)

Merci

--
MCA


"Circé" a écrit :

Bonjour,

Tout s'explique !
C'était en fait bien la macro qui était sur mon site... Et il y a bien
des signets prédéfinis pour Page, sauf que, une fois de plus, le guppy
avait avalé l'antislash ! ()

Circé
http://faqword.fr

MCA a écrit :
> Bonjour Circé et heureux-oli,
> Merci à vous deux de vous être penché sur mon problème.
> En fait, j'ai trouvé la réponse sur le site du support de MICROSOFT, voici
> le lien ci-après :
>
> http://support.microsoft.com/default.aspx/kb/306348/fr
>
> J'ai essayé et cela a fonctionné.
>
> Encore merci à vous et je garde quand même vos codes "sous le coude".
>
>
> --
> MCA
>
>
> "heureux-oli" a écrit :
>
>> Salut Circé,
>>
>> Voilà ce que je viens d'écrire pour enregistrer chaque page dans un document
>> séparé.
>> Sachant que les page ne sont pas des objets en VBA Word, il faut bidouiller
>> un peu
>> Ça ne fonctionne que pour du texte et des inlineshapes, pour des shapes, le
>> code devient tout de suite une usine à gaz et j'ai pas fait.
>>
>> Sub SeparerPages()
>> Dim intPage As Integer 'pour la page en cours
>> Dim intDoc As Integer 'pour le document
>>
>> intDoc = 0
>>
>> Do
>> intDoc = intDoc + 1 'définit le no qui sera donné au document
>> 'on se rend à la seconde page et on recule d'un caractère
>> Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2
>> Selection.MoveLeft Unit:=wdCharacter, Count:=1
>> 'On sélectionne de la fin de la page au début du document
>> Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
>> 'on coupe
>> Selection.Cut
>> 'on ajoute un nouveau document
>> Application.Documents.Add
>> 'on colle
>> Selection.Paste
>> 'on sauve
>> ActiveDocument.SaveAs "c:tempdocument" & intDoc
>> 'on ferme
>> ActiveDocument.Close
>> 'tant qu'il reste plus d'une page on recommence
>> Loop While Selection.Information(wdNumberOfPagesInDocument) > 1
>> 'C'est la dernière page
>> ActiveDocument.SaveAs "c:tempdocument" & intDoc + 1
>>
>> End Sub
>>
>>
>> Je demande pardon pour les objets sélection utilisés ! :-)
>>
>>
>> --
>> Heureux-oli
>> http://heureuxoli.developpez.com/
>> http://word.developpez.com/
>>
>> ----------------------------------------------------------------------------------
>>
>> "Circé" a écrit dans le message de news:
>>
>>> Bonjour,
>>>
>>> Cette macro est depuis très longtemps dans la faq. Je viens de la regarder
>>> et en fait, elle a peut être fonctionné avec d'anciennes versions, mais là
>>> j'ai un gros doute, car elle est basée sur des signets cachés Section, or
>>> a priori ça n'existe pas... :-s
>>>
>>> Geo ou Heureux-Oli pourront peut être confirmer...
>>>
>>> Donc, je vais la remplacer par une autre qui a été écrite par anacoluthe
>>> et que j'ai un peu modifié. Elle fonctionne parfaitement.
>>>
>>> Cela dit, ça n'explique pas pourquoi chez toi ça ne fait "rien"... Car en
>>> fait de ne rien faire, tu devrais tomber sur une erreur !
>>>
>>> Et pour couronner le tout, la faq ne répond plus... Pfffuittt !
>>>
>>> En attendant, je te la mets ici :
>>>
>>> Sub SectionsDansDocumentsSéparés()
>>> Application.ScreenUpdating = False
>>>
>>> Dim SousDoc As Document
>>> Dim R As Range
>>> Dim S As Section
>>> Dim DocNum
>>>
>>> For Each S In ActiveDocument.Sections
>>> Set R = S.Range: R.End = R.End - 1
>>> Set SousDoc = Documents.Add
>>> ChangeFileOpenDirectory "C:"
>>> With SousDoc
>>> DocNum = DocNum + 1
>>> .Content = R
>>> .SaveAs FileName:="test_" & DocNum & ".docx"
>>> .Close
>>> End With
>>> Next S
>>>
>>> Set SousDoc = Nothing
>>> Set R = Nothing
>>> Set S = Nothing
>>> Application.ScreenUpdating = False
>>>
>>> End Sub
>>>
>>> Tu mets la macro dans ton doc, tu l'enregistres en format docm dans un
>>> emplacement approuvé.
>>>
>>> Circé
>>> http://faqword.fr
>>>
>>>
>>> Le 27/01/2009, MCA a supposé :
>>>> Circé
>>>> Dans word2007, je ne vois pas où on peut mettre le niveau (bas, moyen,
>>>> élevé..).
>>>>
>>>> J'ai bien activé les macros dans :
>>>> BOUTON OFFICE/Options WORD/Centre de gestion de la
>>>> confidentialité/Paramètres du Centre de gestion de la
>>>> confidentialité/Paramètres des macros/Activer toutes les macros
>>>>
>>>> et rajouté un emplacement réservé dans :
>>>> BOUTON OFFICE/Options WORD/Centre de gestion de la
>>>> confidentialité/Paramètres du Centre de gestion de la
>>>> confidentialité/Paramètres des macros/Emplacements approuvés
>>>>
>>>> J'ai bien pris la 2ème macro avec les sauts de section.
>>>>
>>>> Cela ne marche toujours pas.
>>>> --
>>>> MCA
>>>>
>>>>
>>>> "Circé" a écrit :
>>>>
>>>>> Bonjour MCA,
>>>>>
>>>>> Tout d'abord, as tu mis le niveau de sécurité macro sur Moyen et non sur
>>>>> Elevé, et as tu activé les macros ?
>>>>>
>>>>> As-tu bien pris la seconde macro (la première fonctionne avec des sauts
>>>>> de page, hors dans un doc issu du publipostage, il s'agit de sauts de
>>>>> section
>>>>>
>>>>> MCA a formulé ce mardi :
>>>>>> Merci Circé de ta réponse.
>>>>>> J'ai essayé mais cela ne fonctionne pas. Rien ne se passe.
>>>>>>
>>>>>> J'ai procédé de la façon suivante :
>>>>>> 1-J'ai enregistré une nouvelle macro que j'ai arrêté dès le début.
>>>>>
>>>>> Euh... pour quoi faire ???
>>>>>
>>>>>> 2-Je l'ai ouverte et ai copié ta macro et enregistré (j'ai modifié le
>>>>>> dossier C: en D:temp)
>>>>>
>>>>> OK pour le dossier, car mon ancienne appli m'avalait les , tu as donc
>>>>> bien fait de rétablir...
>>>>>
>>>>> Circé
>>>>> http://faqword.fr
>>>>>
>>>>>> 3-J'ai ouvert le fichier à séparer en autant de fichiers word que de
>>>>>> destinataires et cliquer sur la macro.
>>>>>>
>>>>>> Une idée ?
>>>>>>
>>>>>> --
>>>>>> MCA
>>>>>>
>>>>>>
>>>>>> "Circé" a écrit :
>>>>>>
>>>>>>> Bonjour,
>>>>>>>
>>>>>>> Ce n'est pas prévu, mais une macro peut le faire après coup. Regarde
>>>>>>> ici :
>>>>>>> http://faqword.fr/index.php/wfaq/51-wvba/552
>>>>>>>
>>>>>>> Circé
>>>>>>> http://faqword.fr
>>>>>>>
>>>>>>>
>>>>>>> MCA a exposé le 26/01/2009 :
>>>>>>>> Bonjour,
>>>>>>>> J'aimerais fusionner mes lettres dans autant de fichiers qu'il y a de
>>>>>>>> destinataires (et non un fichier global). Est-ce possible ?
>>>>>>>>
>>>>>>>> Merci de votre aide
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>
>>>
>>
>>
>>





Avatar
Circé
MCA a exprimé avec précision :
Circé,
J'ai un petit souci quand même. Tous mes documents générés ont
systématiquement un espace avant (12pt), ce qui fait que mes lignes sont
espacées.
D'ailleurs, dès que je veux créer un nouveau document dans word, j'ai ce
fameux espace que je n'arrive pas à enlever.
Est-ce que c'est dans mon modèle normal.dot qu'il faut que je modifie ? SI
oui, comment faire ? (je suis sous word2007)



Oui, c'est dans le normal.dot.

Le plus simple :
Menu Format, Paragraphe
tu choisis Interligne simple
et tu cliques sur "Par défaut".

S'il s'agit de l'espacement entre les paragraphes, ça me paraît normal
qu'il y ait un blanc en plus... Si ça te gène, il faut mettre 0 pour
l'espacement avant et après.

Circé
http://faqword.fr

Merci

--
MCA


"Circé" a écrit :

Bonjour,

Tout s'explique !
C'était en fait bien la macro qui était sur mon site... Et il y a bien
des signets prédéfinis pour Page, sauf que, une fois de plus, le guppy
avait avalé l'antislash ! ()

Circé
http://faqword.fr

MCA a écrit :
Bonjour Circé et heureux-oli,
Merci à vous deux de vous être penché sur mon problème.
En fait, j'ai trouvé la réponse sur le site du support de MICROSOFT, voici
le lien ci-après :

http://support.microsoft.com/default.aspx/kb/306348/fr

J'ai essayé et cela a fonctionné.

Encore merci à vous et je garde quand même vos codes "sous le coude".


--
MCA


"heureux-oli" a écrit :

Salut Circé,

Voilà ce que je viens d'écrire pour enregistrer chaque page dans un
document séparé.
Sachant que les page ne sont pas des objets en VBA Word, il faut
bidouiller un peu
Ça ne fonctionne que pour du texte et des inlineshapes, pour des shapes,
le code devient tout de suite une usine à gaz et j'ai pas fait.

Sub SeparerPages()
Dim intPage As Integer 'pour la page en cours
Dim intDoc As Integer 'pour le document

intDoc = 0

Do
intDoc = intDoc + 1 'définit le no qui sera donné au document
'on se rend à la seconde page et on recule d'un caractère
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2
Selection.MoveLeft Unit:=wdCharacter, Count:=1
'On sélectionne de la fin de la page au début du document
Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
'on coupe
Selection.Cut
'on ajoute un nouveau document
Application.Documents.Add
'on colle
Selection.Paste
'on sauve
ActiveDocument.SaveAs "c:tempdocument" & intDoc
'on ferme
ActiveDocument.Close
'tant qu'il reste plus d'une page on recommence
Loop While Selection.Information(wdNumberOfPagesInDocument) > 1
'C'est la dernière page
ActiveDocument.SaveAs "c:tempdocument" & intDoc + 1

End Sub


Je demande pardon pour les objets sélection utilisés ! :-)


--
Heureux-oli
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"Circé" a écrit dans le message de news:

Bonjour,

Cette macro est depuis très longtemps dans la faq. Je viens de la
regarder et en fait, elle a peut être fonctionné avec d'anciennes
versions, mais là j'ai un gros doute, car elle est basée sur des signets
cachés Section, or a priori ça n'existe pas... :-s

Geo ou Heureux-Oli pourront peut être confirmer...

Donc, je vais la remplacer par une autre qui a été écrite par anacoluthe
et que j'ai un peu modifié. Elle fonctionne parfaitement.

Cela dit, ça n'explique pas pourquoi chez toi ça ne fait "rien"... Car en
fait de ne rien faire, tu devrais tomber sur une erreur !

Et pour couronner le tout, la faq ne répond plus... Pfffuittt !

En attendant, je te la mets ici :

Sub SectionsDansDocumentsSéparés()
Application.ScreenUpdating = False

Dim SousDoc As Document
Dim R As Range
Dim S As Section
Dim DocNum

For Each S In ActiveDocument.Sections
Set R = S.Range: R.End = R.End - 1
Set SousDoc = Documents.Add
ChangeFileOpenDirectory "C:"
With SousDoc
DocNum = DocNum + 1
.Content = R
.SaveAs FileName:="test_" & DocNum & ".docx"
.Close
End With
Next S

Set SousDoc = Nothing
Set R = Nothing
Set S = Nothing
Application.ScreenUpdating = False

End Sub

Tu mets la macro dans ton doc, tu l'enregistres en format docm dans un
emplacement approuvé.

Circé
http://faqword.fr


Le 27/01/2009, MCA a supposé :
Circé
Dans word2007, je ne vois pas où on peut mettre le niveau (bas, moyen,
élevé..).

J'ai bien activé les macros dans :
BOUTON OFFICE/Options WORD/Centre de gestion de la
confidentialité/Paramètres du Centre de gestion de la
confidentialité/Paramètres des macros/Activer toutes les macros

et rajouté un emplacement réservé dans :
BOUTON OFFICE/Options WORD/Centre de gestion de la
confidentialité/Paramètres du Centre de gestion de la
confidentialité/Paramètres des macros/Emplacements approuvés

J'ai bien pris la 2ème macro avec les sauts de section.

Cela ne marche toujours pas.
--
MCA


"Circé" a écrit :

Bonjour MCA,

Tout d'abord, as tu mis le niveau de sécurité macro sur Moyen et non
sur Elevé, et as tu activé les macros ?

As-tu bien pris la seconde macro (la première fonctionne avec des sauts
de page, hors dans un doc issu du publipostage, il s'agit de sauts de
section

MCA a formulé ce mardi :
Merci Circé de ta réponse.
J'ai essayé mais cela ne fonctionne pas. Rien ne se passe.

J'ai procédé de la façon suivante :
1-J'ai enregistré une nouvelle macro que j'ai arrêté dès le début.



Euh... pour quoi faire ???

2-Je l'ai ouverte et ai copié ta macro et enregistré (j'ai modifié le
dossier C: en D:temp)



OK pour le dossier, car mon ancienne appli m'avalait les , tu as donc
bien fait de rétablir...

Circé
http://faqword.fr

3-J'ai ouvert le fichier à séparer en autant de fichiers word que de
destinataires et cliquer sur la macro.

Une idée ?

--
MCA


"Circé" a écrit :

Bonjour,

Ce n'est pas prévu, mais une macro peut le faire après coup. Regarde
ici :
http://faqword.fr/index.php/wfaq/51-wvba/552

Circé
http://faqword.fr


MCA a exposé le 26/01/2009 :
Bonjour,
J'aimerais fusionner mes lettres dans autant de fichiers qu'il y a
de destinataires (et non un fichier global). Est-ce possible ?

Merci de votre aide

































Avatar
heureux-oli
Salut,

Effectivement, il manque un petit Alt 92.

Et c'est une manière de faire que je n'ai pas encore exploré.



--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"Circé" a écrit dans le message de news:

Bonjour,

Tout s'explique !
C'était en fait bien la macro qui était sur mon site... Et il y a bien des
signets prédéfinis pour Page, sauf que, une fois de plus, le guppy avait
avalé l'antislash ! ()

Circé
http://faqword.fr

MCA a écrit :
Bonjour Circé et heureux-oli,
Merci à vous deux de vous être penché sur mon problème.
En fait, j'ai trouvé la réponse sur le site du support de MICROSOFT,
voici le lien ci-après :

http://support.microsoft.com/default.aspx/kb/306348/fr

J'ai essayé et cela a fonctionné.

Encore merci à vous et je garde quand même vos codes "sous le coude".


--
MCA


"heureux-oli" a écrit :

Salut Circé,

Voilà ce que je viens d'écrire pour enregistrer chaque page dans un
document séparé.
Sachant que les page ne sont pas des objets en VBA Word, il faut
bidouiller un peu
Ça ne fonctionne que pour du texte et des inlineshapes, pour des shapes,
le code devient tout de suite une usine à gaz et j'ai pas fait.

Sub SeparerPages()
Dim intPage As Integer 'pour la page en cours
Dim intDoc As Integer 'pour le document

intDoc = 0

Do
intDoc = intDoc + 1 'définit le no qui sera donné au document
'on se rend à la seconde page et on recule d'un caractère
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2
Selection.MoveLeft Unit:=wdCharacter, Count:=1
'On sélectionne de la fin de la page au début du document
Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
'on coupe
Selection.Cut
'on ajoute un nouveau document
Application.Documents.Add
'on colle
Selection.Paste
'on sauve
ActiveDocument.SaveAs "c:tempdocument" & intDoc
'on ferme
ActiveDocument.Close
'tant qu'il reste plus d'une page on recommence
Loop While Selection.Information(wdNumberOfPagesInDocument) > 1
'C'est la dernière page
ActiveDocument.SaveAs "c:tempdocument" & intDoc + 1

End Sub


Je demande pardon pour les objets sélection utilisés ! :-)


--
Heureux-oli
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"Circé" a écrit dans le message de news:

Bonjour,

Cette macro est depuis très longtemps dans la faq. Je viens de la
regarder et en fait, elle a peut être fonctionné avec d'anciennes
versions, mais là j'ai un gros doute, car elle est basée sur des
signets cachés Section, or a priori ça n'existe pas... :-s

Geo ou Heureux-Oli pourront peut être confirmer...

Donc, je vais la remplacer par une autre qui a été écrite par
anacoluthe et que j'ai un peu modifié. Elle fonctionne parfaitement.

Cela dit, ça n'explique pas pourquoi chez toi ça ne fait "rien"... Car
en fait de ne rien faire, tu devrais tomber sur une erreur !

Et pour couronner le tout, la faq ne répond plus... Pfffuittt !

En attendant, je te la mets ici :

Sub SectionsDansDocumentsSéparés()
Application.ScreenUpdating = False

Dim SousDoc As Document
Dim R As Range
Dim S As Section
Dim DocNum

For Each S In ActiveDocument.Sections
Set R = S.Range: R.End = R.End - 1
Set SousDoc = Documents.Add
ChangeFileOpenDirectory "C:"
With SousDoc
DocNum = DocNum + 1
.Content = R
.SaveAs FileName:="test_" & DocNum & ".docx"
.Close
End With
Next S

Set SousDoc = Nothing
Set R = Nothing
Set S = Nothing
Application.ScreenUpdating = False

End Sub

Tu mets la macro dans ton doc, tu l'enregistres en format docm dans un
emplacement approuvé.

Circé
http://faqword.fr


Le 27/01/2009, MCA a supposé :
Circé
Dans word2007, je ne vois pas où on peut mettre le niveau (bas, moyen,
élevé..).

J'ai bien activé les macros dans :
BOUTON OFFICE/Options WORD/Centre de gestion de la
confidentialité/Paramètres du Centre de gestion de la
confidentialité/Paramètres des macros/Activer toutes les macros

et rajouté un emplacement réservé dans :
BOUTON OFFICE/Options WORD/Centre de gestion de la
confidentialité/Paramètres du Centre de gestion de la
confidentialité/Paramètres des macros/Emplacements approuvés

J'ai bien pris la 2ème macro avec les sauts de section.

Cela ne marche toujours pas.
--
MCA


"Circé" a écrit :

Bonjour MCA,

Tout d'abord, as tu mis le niveau de sécurité macro sur Moyen et non
sur Elevé, et as tu activé les macros ?

As-tu bien pris la seconde macro (la première fonctionne avec des
sauts de page, hors dans un doc issu du publipostage, il s'agit de
sauts de section

MCA a formulé ce mardi :
Merci Circé de ta réponse.
J'ai essayé mais cela ne fonctionne pas. Rien ne se passe.

J'ai procédé de la façon suivante :
1-J'ai enregistré une nouvelle macro que j'ai arrêté dès le début.



Euh... pour quoi faire ???

2-Je l'ai ouverte et ai copié ta macro et enregistré (j'ai modifié
le dossier C: en D:temp)



OK pour le dossier, car mon ancienne appli m'avalait les , tu as
donc bien fait de rétablir...

Circé
http://faqword.fr

3-J'ai ouvert le fichier à séparer en autant de fichiers word que de
destinataires et cliquer sur la macro.

Une idée ?

--
MCA


"Circé" a écrit :

Bonjour,

Ce n'est pas prévu, mais une macro peut le faire après coup.
Regarde ici :
http://faqword.fr/index.php/wfaq/51-wvba/552

Circé
http://faqword.fr


MCA a exposé le 26/01/2009 :
Bonjour,
J'aimerais fusionner mes lettres dans autant de fichiers qu'il y a
de destinataires (et non un fichier global). Est-ce possible ?

Merci de votre aide





























Avatar
heureux-oli
Salut,

Si tu ne veux pas modifier le normal.dot, tu peux utiliser un modèle de ton
choix en modifiant cette ligne :

Documents.Add
et lui ajouter le chemin de ton modèle fétiche Documents.Add
"C:DataTemplatesMonSupermodèle.dot"

--
Heureux-oli
Si rien n'est mentionné pour le code, c'est que j'en suis l'auteur.
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"Circé" a écrit dans le message de news:

MCA a exprimé avec précision :
Circé,
J'ai un petit souci quand même. Tous mes documents générés ont
systématiquement un espace avant (12pt), ce qui fait que mes lignes sont
espacées.
D'ailleurs, dès que je veux créer un nouveau document dans word, j'ai ce
fameux espace que je n'arrive pas à enlever.
Est-ce que c'est dans mon modèle normal.dot qu'il faut que je modifie ?
SI oui, comment faire ? (je suis sous word2007)



Oui, c'est dans le normal.dot.

Le plus simple :
Menu Format, Paragraphe
tu choisis Interligne simple
et tu cliques sur "Par défaut".

S'il s'agit de l'espacement entre les paragraphes, ça me paraît normal
qu'il y ait un blanc en plus... Si ça te gène, il faut mettre 0 pour
l'espacement avant et après.

Circé
http://faqword.fr

Merci

--
MCA


"Circé" a écrit :

Bonjour,

Tout s'explique !
C'était en fait bien la macro qui était sur mon site... Et il y a bien
des signets prédéfinis pour Page, sauf que, une fois de plus, le guppy
avait avalé l'antislash ! ()

Circé
http://faqword.fr

MCA a écrit :
Bonjour Circé et heureux-oli,
Merci à vous deux de vous être penché sur mon problème.
En fait, j'ai trouvé la réponse sur le site du support de MICROSOFT,
voici le lien ci-après :

http://support.microsoft.com/default.aspx/kb/306348/fr

J'ai essayé et cela a fonctionné.

Encore merci à vous et je garde quand même vos codes "sous le coude".


--
MCA


"heureux-oli" a écrit :

Salut Circé,

Voilà ce que je viens d'écrire pour enregistrer chaque page dans un
document séparé.
Sachant que les page ne sont pas des objets en VBA Word, il faut
bidouiller un peu
Ça ne fonctionne que pour du texte et des inlineshapes, pour des
shapes, le code devient tout de suite une usine à gaz et j'ai pas
fait.

Sub SeparerPages()
Dim intPage As Integer 'pour la page en cours
Dim intDoc As Integer 'pour le document

intDoc = 0

Do
intDoc = intDoc + 1 'définit le no qui sera donné au document
'on se rend à la seconde page et on recule d'un caractère
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=2
Selection.MoveLeft Unit:=wdCharacter, Count:=1
'On sélectionne de la fin de la page au début du document
Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
'on coupe
Selection.Cut
'on ajoute un nouveau document
Application.Documents.Add
'on colle
Selection.Paste
'on sauve
ActiveDocument.SaveAs "c:tempdocument" & intDoc
'on ferme
ActiveDocument.Close
'tant qu'il reste plus d'une page on recommence
Loop While Selection.Information(wdNumberOfPagesInDocument) > 1
'C'est la dernière page
ActiveDocument.SaveAs "c:tempdocument" & intDoc + 1

End Sub


Je demande pardon pour les objets sélection utilisés ! :-)


--
Heureux-oli
http://heureuxoli.developpez.com/
http://word.developpez.com/

----------------------------------------------------------------------------------

"Circé" a écrit dans le message de news:

Bonjour,

Cette macro est depuis très longtemps dans la faq. Je viens de la
regarder et en fait, elle a peut être fonctionné avec d'anciennes
versions, mais là j'ai un gros doute, car elle est basée sur des
signets cachés Section, or a priori ça n'existe pas... :-s

Geo ou Heureux-Oli pourront peut être confirmer...

Donc, je vais la remplacer par une autre qui a été écrite par
anacoluthe et que j'ai un peu modifié. Elle fonctionne parfaitement.

Cela dit, ça n'explique pas pourquoi chez toi ça ne fait "rien"...
Car en fait de ne rien faire, tu devrais tomber sur une erreur !

Et pour couronner le tout, la faq ne répond plus... Pfffuittt !

En attendant, je te la mets ici :

Sub SectionsDansDocumentsSéparés()
Application.ScreenUpdating = False

Dim SousDoc As Document
Dim R As Range
Dim S As Section
Dim DocNum

For Each S In ActiveDocument.Sections
Set R = S.Range: R.End = R.End - 1
Set SousDoc = Documents.Add
ChangeFileOpenDirectory "C:"
With SousDoc
DocNum = DocNum + 1
.Content = R
.SaveAs FileName:="test_" & DocNum & ".docx"
.Close
End With
Next S

Set SousDoc = Nothing
Set R = Nothing
Set S = Nothing
Application.ScreenUpdating = False

End Sub

Tu mets la macro dans ton doc, tu l'enregistres en format docm dans
un emplacement approuvé.

Circé
http://faqword.fr


Le 27/01/2009, MCA a supposé :
Circé
Dans word2007, je ne vois pas où on peut mettre le niveau (bas,
moyen, élevé..).

J'ai bien activé les macros dans :
BOUTON OFFICE/Options WORD/Centre de gestion de la
confidentialité/Paramètres du Centre de gestion de la
confidentialité/Paramètres des macros/Activer toutes les macros

et rajouté un emplacement réservé dans :
BOUTON OFFICE/Options WORD/Centre de gestion de la
confidentialité/Paramètres du Centre de gestion de la
confidentialité/Paramètres des macros/Emplacements approuvés

J'ai bien pris la 2ème macro avec les sauts de section.

Cela ne marche toujours pas.
--
MCA


"Circé" a écrit :

Bonjour MCA,

Tout d'abord, as tu mis le niveau de sécurité macro sur Moyen et
non sur Elevé, et as tu activé les macros ?

As-tu bien pris la seconde macro (la première fonctionne avec des
sauts de page, hors dans un doc issu du publipostage, il s'agit de
sauts de section

MCA a formulé ce mardi :
Merci Circé de ta réponse.
J'ai essayé mais cela ne fonctionne pas. Rien ne se passe.

J'ai procédé de la façon suivante :
1-J'ai enregistré une nouvelle macro que j'ai arrêté dès le début.



Euh... pour quoi faire ???

2-Je l'ai ouverte et ai copié ta macro et enregistré (j'ai modifié
le dossier C: en D:temp)



OK pour le dossier, car mon ancienne appli m'avalait les , tu as
donc bien fait de rétablir...

Circé
http://faqword.fr

3-J'ai ouvert le fichier à séparer en autant de fichiers word que
de destinataires et cliquer sur la macro.

Une idée ?

--
MCA


"Circé" a écrit :

Bonjour,

Ce n'est pas prévu, mais une macro peut le faire après coup.
Regarde ici :
http://faqword.fr/index.php/wfaq/51-wvba/552

Circé
http://faqword.fr


MCA a exposé le 26/01/2009 :
Bonjour,
J'aimerais fusionner mes lettres dans autant de fichiers qu'il y
a de destinataires (et non un fichier global). Est-ce possible
?

Merci de votre aide




































1 2