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

VBA Word Discussion :

Une macro Word pour mise en page.


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Août 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2014
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Une macro Word pour mise en page.
    Bonjour,

    Je dois mettre en page des fichier *.txt au format unicode afin de les sauvegarder en *.pdf

    J'ai automatisé déjà pas mal de choses à l'aide de macros dans Word, mais je n'arrive pas à insérer un saut de page au début d'une ligne chaque fois que celle ci commence par "1 EMAIL".

    Pour résumer: lire toutes les lignes, et si une commence par cette chaine de caractères, insérer un saut de page à son début.

    Pourriez m'aiguiller sur la trame d'une boucle qui ferait ça ? J'adapterai ensuite.

    Merci ;-)

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

    A tester :
    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
    26
    27
    28
     
    Option Explicit
     
    Sub RechercherLesArobas(ByVal DocEnCours As Document)
     
    Dim I As Long
     
        With DocEnCours
     
             For I = .Paragraphs.Count To 1 Step -1
                 If InStr(1, .Paragraphs(I).Range.Text, "@", vbTextCompare) > 0 Then
                     .Paragraphs(I).Range.Select
                     With Selection
                          .MoveUp Unit:=wdLine, Count:=1
                          .InsertBreak Type:=wdPageBreak
                     End With
     
                 End If
             Next I
        End With
     
    End Sub
     
    Sub TestRechercherLesArobas()
     
        RechercherLesArobas ActiveDocument
     
    End Sub

  3. #3
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Août 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2014
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Merci ! Je teste dès que possible !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Août 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2014
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par BastLat Voir le message
    Merci ! Je teste dès que possible !
    Testé ce matin dès mon arrivée au boulot, et ça marche impec.
    Un ou deux modifs, par exemple positionner le curseur en fin de ligne avant d'insérer le saut de page (.EndKey Unit:=wdLine)
    Mais que du bon.
    Merci encore !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Août 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2014
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub sauve()
        ActiveDocument.ExportAsFixedFormat OutputFileName:= _
            "U:\CTL_COURS\d12345678_a00.pdf", ExportFormat:=wdExportFormatPDF, _
            OpenAfterExport:=True, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
            wdExportAllDocument, From:=1, To:=1, Item:=wdExportDocumentContent, _
            IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
            wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
            True, UseISO19005_1:=False
        ChangeFileOpenDirectory "U:\CTL_COURS\"
    End Sub
    Bonjour, me revoici avec un nouveau problème...

    Ma mise en page auto est terminée, et ça fonctionne parfaitement.

    Je me retrouve avec un fichier texte (*.txt) que je souhaite sauver au format pdf (*.pdf) dans le même répertoire (que j'ai redésigné pour être sûr ;-).
    A l'aide de l'enregistreur de macros j'ai capturé la séquence.
    Seulement le nom du fichier (d12345678_a00 dans ce cas) change à chaque fois...

    Question: Comment récupérer le nom du fichier actuellement traité pour l'"injecter" dans la macro ?

    J'espère être compréhensible. Merci d'avance

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par BastLat Voir le message
    Bonjour,

    Lorsque le sujet ne correspond plus au sujet d'origine, il vous faut créer un nouveau message.

    Sinon, pour répondre à votre question, il suffirait de récupérer dans une variable string le nom du fichier .txt, de lui enlever l'extension .txt avec la fonction Mid et de lui ajouter l'extension .pdf.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Août 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2014
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Bonjour,
    Lorsque le sujet ne correspond plus au sujet d'origine, il vous faut créer un nouveau message.
    Oui, j'ai un peu abusé. Sorry.

    Citation Envoyé par Eric KERGRESSE Voir le message
    Sinon, pour répondre à votre question, il suffirait de récupérer dans une variable string le nom du fichier .txt, de lui enlever l'extension .txt avec la fonction Mid et de lui ajouter l'extension .pdf.
    Effectivement, c'est ce que je suis en train d'essayer de faire avec mon petit niveau.. Mais ça avance..

    Je marque le sujet [Résolu] et j'ouvrirai un autre fil si je n'y arrive pas.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/02/2017, 15h25
  2. Lancer une macro Word a partir d'une page Web
    Par Tcho85 dans le forum VBA Word
    Réponses: 1
    Dernier message: 01/10/2009, 01h58
  3. Réponses: 4
    Dernier message: 19/03/2009, 09h57
  4. Macro Word pour Supprimer page vierge
    Par falbaj dans le forum VBA Word
    Réponses: 1
    Dernier message: 10/12/2008, 09h42
  5. Réponses: 2
    Dernier message: 20/09/2005, 15h10

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