Enregistrer un même document en plusieurs fichiers

Flodefos -  
 flodefos -
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 23920 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
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
Flodefos
 
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 23920 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
0
florian
 
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 23920 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
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
flodefos
 
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