IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Word Discussion :

Nommer les fichier word lors d'une separation de fichier word suite a un publipostage


Sujet :

Word

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien
    Inscrit en
    Octobre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Octobre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Nommer les fichier word lors d'une separation de fichier word suite a un publipostage
    Bonjour,

    j'ai réalisé un publipostage et je souhaiterais le diviser en plusieurs fichier word.
    en utilisant cette formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    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 "C:\Users\pdespres\Desktop\Finalisation\fiche\fin"
          DocNum = 29 + 1
         ActiveDocument.SaveAs FileName:="Fiche " & DocNum & ".doc"
         ActiveDocument.Close
          'section suivante
         Application.Browser.Next
       Next i
       ActiveDocument.Close savechanges:=wdDoNotSaveChanges
    End Sub
    j’obtiens des fichier word coupé a chaque section.

    Mais, je voudrais que mon fichier word soit automatiquement nommé a partir d'une information dans le fichier
    pour le moment, j'ai Fiche1, Fiche 2, Fiche 3 ......
    et je voudrais par exemple : Fiche de Antoine, Fiche de Pierre, Fiche de ......

    Cela est il possible ?

    Et comment modifier ma macro pour que cela fonctionne ?

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Koiker Voir le message

    Bonjour,

    Lorsque vous postez, mettez votre code entre balises #.

    Sinon, en admettant que vous ayez déclaré une variable matrice MaListe de type Variant, vous pourriez la charger avec ce genre de code où le nombre d'enregistrements correspondrait impérativement à votre nombre de sections et cela avant le démarrage de votre boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            MaListe = Array("Fiche d'Antoine", "Fiche de Pierre", "Fiche de Paul", "Fiche de Jacques")
    Si vous n'avez pas indiqué en tête de votre module : Option Base 1, l'enregistrement "Fichier d'Antoine" correspondra à MaListe(0) ou à MaListe(I-1) dans votre boucle.

    Dans votre boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveDocument.SaveAs FileName:= MaListe(I-1)  & ".doc"

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien
    Inscrit en
    Octobre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Octobre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    merci pour votre réponse je vais essayer

    J'ai également un autre soucis que je n'arrive pas a resoudre je fais des fiches numéroté en parallèle.
    J'ai donc ma base de donée sur excel je fais mon publipostage, mais le fichier est trop gros pour faire un publipostage de toute mes fiches.
    Donc je fais par etape par exemple de la fiche 1 a la fiche 100 lors de la découpe en 1 seul fichier word je les nommes fiche 1 fiche 2 fiche 3 ....
    mais quand je vais refaire ma decoupe pour les fiches 101 a 200 elles ce renomme fiche 1 fiche 2 fiche 3 y a t'il un moyen pour que les numéro de fiche ce suive ?

    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Koiker Voir le message
    Je pense qu'il suffirait que cette numérotation soit un champ dans votre table Excel, vous auriez ainsi la possibilité de définir vos groupements pour votre publipostage (de la fiche 1 à N, puis N+1 à....).

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien
    Inscrit en
    Octobre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Octobre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre réponse.

    J'ai reussis pour les noms avec malist.

    Par contre pour les numéros. Dans mon excel j'ai effectivement la numérotation des fiches. Elles s’intègre lors du publipostage dans le word. Mais de la comment le récupérer pour nommer le fichier word ?

    C'est lors de la séparation du word en plusieurs fichier que la numérotation ne suit pas. Et comme mes fichier words séparé vont dans le même dossier, les nouveau écrasent les ancien.

    Ne pourrais je pas faire en sorte dans ma formule pour séparer mon fichier word en plusieurs, de nommer chaque fichier en fonction d'une donnée définis sur la partie en train d’être divisé ? Puisque sur chaque document j'ai le numéro de la fiche ?

    Je ne sais pas si je suis très claire ? Dsl

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien
    Inscrit en
    Octobre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Octobre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Au final j'ai réussis a faire ce que je voulais avec le logiciel antrenamer

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Koiker Voir le message
    Je ne sais pas si je suis très clair ?
    Non.

    Puisque sur chaque document j'ai le numéro de la fiche ?
    Alors cette information doit être stockée dans un des champs de votre publipostage.

    Testez déjà ce code qui liste les champs composant votre publipostage avec la fenêtre exécution Ctrl-G. Une fois trouvé l'indice du champ pour le numéro de fiche, remplacez le 1 par le numéro dans la fonction RecupererLeNumeroDeFiche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Sub IdentifierLesChampsRentrantDansLePublipostage()
     
    Dim DocEnCours As Document
    Dim I As Integer
     
        Set DocEnCours = ActiveDocument
        With DocEnCours
     
             For I = 1 To .MailMerge.Fields.Count
                 .MailMerge.Fields(I).Select
                 Debug.Print I & " : " & Selection.Range.Text
             Next I
     
        End With
     
        MsgBox RecupererLeNumeroDeFiche(DocEnCours, 1)
     
        Set DocEnCours = Nothing
     
    End Sub
    La procédure contient cette fonction qui devrait vous donner le numéro de la fiche sur le document en cours, une fois l'indice du champ récupéré.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
     
    Function RecupererLeNumeroDeFiche(ByVal DocEnCours As Document, ByVal NumeroDuChamp As Integer) As String
     
             With DocEnCours
                  .Fields(NumeroDuChamp).Select
                  RecupererLeNumeroDeFiche = Selection.Range.Text
             End With
     
    End Function

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/09/2010, 08h55
  2. Réponses: 1
    Dernier message: 09/09/2008, 00h58
  3. Réponses: 16
    Dernier message: 04/08/2006, 14h14
  4. Mise à jour des fichiers syst lors d'une installation
    Par Asdorve dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 03/07/2006, 15h27
  5. Réponses: 11
    Dernier message: 27/04/2006, 08h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo