Enregistrer un même document en plusieurs fichiers
Flodefos
-
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
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
6 réponses
-
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
-
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"" -
Bonsoir,
Alors la suite ici ;)
https://faqword.com/index.php/word/faq-word/vba-solutions/736-comment-utiliser-un-mot-du-document-pour-nommer-un-fichier
m@rina
-
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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
-
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.