Enregistrer un même document en plusieurs fichiers

Fermé
Flodefos - 20 mars 2013 à 09:02
 flodefos - 26 mars 2013 à 17:21
Bonjour,

J'ai un document Word de plusieurs dizaines de pages et voudrais enregistrer chaque page en un fichier.

Est-ce que l'un de vous aurait une solution pour le réaliser rapidement?

Merci

Florian
A voir également:

6 réponses

m@rina Messages postés 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024 11 343
20 mars 2013 à 23:54
Bonjour,

En espérant que chaque page est séparée par un saut de page manuel et non pas automatique, voici une macro :

https://faqword.com/index.php/word/faq-word/vba-solutions/823-comment-couper-un-gros-fichier-en-autant-de-petits-fichiers-quil-y-a-de-sauts-de-section-2

m@ina
1
Merci marina, ça fonctionne bien.

Dernière question, j'aimerais attribuer automatiquement au nom de fichier un mot qui se trouve dans le fichier. Serais-tu comment je peux le réaliser?

j'imagine qu'il faut effectuer une modification au niveau de la ligne de code :
"ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc""
0
m@rina Messages postés 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024 11 343
21 mars 2013 à 23:18
0
Bonjour,

Merci pour la réponse.

J'ai essayé de faire une recherche grâce au style du mot car j'ai un tableau dans chaque page.

Voila ce que j'ai :


Sub couper_sections()
Application.Browser.Target = wdBrowseSection

For i = 1 To ((ActiveDocument.Sections.Count) - 1)

'Selectionne et copie le texte de la section dans le presse-papier
ActiveDocument.Bookmarks("\Section").Range.Copy

'Crée un nouveau document et colle le texte du presse-papier
Documents.Add
Selection.Paste

' Retire le saut de section qui a été copié
Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
Selection.Delete Unit:=wdCharacter, Count:=1

ChangeFileOpenDirectory "D:\HOECM\Bureau\Tasks sheets"

'recherche du titre

Dim titre As String
Selection.Find.ClearFormatting
Selection.Find.Style = ActiveDocument.Styles("Ref")
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute

titre = Left(Selection, (Len(Selection) - 1))

ActiveDocument.SaveAs FileName:=titre
ActiveDocument.Close
'section suivante
Application.Browser.Next

Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub

Il me met que titre=0 et donc un message d'erreur 5152.

Aurais-tu déjà été confronté à ce problème?

Merci

Florian
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
m@rina Messages postés 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024 11 343
25 mars 2013 à 19:16
Bonsoir,

Il vaut mieux utiliser le numéro du tableau. Tu as enregistré un recherche-remplace qui ne sert à rien.

Ce code par exemple récupère le valeur de la 2e ligne de la 4e colonne du 2e tableau du document :

Dim cellule As Range, titre As String, nb
Set cellule = ActiveDocument.Tables(2).Cell(Row:=2, Column:=4).Range
nb = Len(cellule) - 2
titre = Left(cellule, nb) & ".doc"


m@rina
0
Bon je m'en sors pas avec ce code, pourrais-je t'envoyer mon document Word?

Je veux donner à mon fichier le texte en rouge comme nom de fichier.
0