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

6 réponses

  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
  2. 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
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. m@rina Messages postés 27623 Date d'inscription   Statut Modérateur Dernière intervention   11 563
     
    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
  5. 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