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 :

mise en page d'un document


Sujet :

VBA Word

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut mise en page d'un document
    Bjr à toutes et tous,
    tout nouveau sur le forum j'ai un problème à vous soumettre.
    Je reçois quotidiennement 1 fichier ".RTF" de 30 pages.
    Celui-ci comporte des lignes vides constituées de points et terminées par un caractère de fin de paragraphe (^p). Entre 2 pages il y a le signe ! et^p (1) (point d'exclamation et fin de paragraphe). TOUTES LES PAGES SONT IDENTIQUES (informations différentes mais nombre de lignes identique)
    Je mets un temps fou à tout remettre en ordre. Pour gagner du temps je cherche à faire une macro sous Word 2003 :
    * qui peut supprimer toutes les lignes de points SAUF UNE et faire un saut de page au niveau du signe en (1) ci-dessus.
    J'ai réussi à faire cette macro en enregistrant les actions "rechercher et remplacer" mais il ne reste pas la dernière ligne qui m'est essentielle.
    Quelqu'un peut-il m'aider ?
    Je vous remercie par avance et vous souhaite une excellente soirée à tous.
    Gilbert.

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Bonjour et bienvenue sur les forums Office de DVP.

    Si tu pouvais nous mettre ton code ou une copie de ton document pour que nous puissions te venir en aide. Pour le VBA, une description est trop sommaire.

  3. #3
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut,

    Puisque tu as commencé avec un recherche/remplacer (et à mon avis, c'est la bonne solution), continuons ainsi.

    Il faut que tu commences par écarter ta dernière ligne de la liste des rechercher/remplacer. Pour cela, effectue un rechercher/remplacer de ton saut de page (RTF) et remplace-le par un saut de page manuel, mais attention la syntaxe dépend de l'utilisation ou non des caractères génériques.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Rechercher = "!^p"
    Remplacer par : "$$$^p^m"
    Sans cocher "Utiliser les caractères génériques"
    Le "$$$" ne sert à rien sauf pour différencier la dernière ligne
    Après tu remplaces comme tu faisais avant (donc tout sauf la dernière ligne) et à la fin tu supprimes les $$$.

    Voilà. N'hésite pas si tu veux plus d'informations

    @+

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Un peu de lecture sur la recherche et le remplacement !

    http://sepia.developpez.com/office/w...cherremplacer/

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut mise en page d'un document
    Bonjour Heureux-oli,
    ci-joint un exemple du fichier que je souhaite traiter.
    Le document réel comporte exactement 30 pages IDENTIQUES AVEC TOUJOURS LE MËME NOMBRE DE LIGNES.
    Pour chaque page je dois donc :
    - conserver la dernière ligne d'espaces terminée par le caractère de paragraphe,
    - conserver la dernière ligne d'espaces coupée des caractères | (barre oblique)
    - faire 1 saut de page manuel au signe !+caractère de paragraphe.
    Je t'ai écrit sur les lignes dans le fichier ce qui est à conserver.

    Merci à toi si tu peux m'aider dans ce problème.
    Bonne fin de journées à tous.
    Fichiers attachés Fichiers attachés

  6. #6
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut,


    Comme te le dit Heureux-Oli, utilise le tutorial qui prend des exemples simlaires.

    @+

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Essaie ce code pour voir !

    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
    29
    30
    31
    Sub remplacement()
     
    Dim myString As String
    Dim i As Integer
     
    i = ActiveDocument.Paragraphs.Count
    ActiveDocument.Paragraphs(i).Range.Delete
    Selection.HomeKey unit:=wdStory
     
     
     
    myString = Chr(33) & Chr(13)
     
     
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = myString
            .Replacement.Text = "^m"
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
     
    End Sub
    La méthode qui convient le mieux est bien la recherche et le remplacement.

    La macro va supprimer le dernier paragraphe du document.
    Revenir au début du document et effectuer les remplacements.

    Pour les remplacements, j'ai utilisé les code ASCII des caractères, ce qui me donne une plus grande précision.

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut mise en page d'un document
    Merci pour ta macro Heureux-oli,
    je l'ai essayée immédiatement et regardé le résultat.
    Les sauts de page sont bien effectués mais les lignes vides ne sont pas supprimées.
    Pour que tu puisses bien voir ce résultat, je te joins le fichier en Word en ayant surligné en jaune ce qui devrait être supprimé et en vert ce qui doit rester.
    Je te remercie par avance du temps que tu me consacres.
    Gilbert.
    Fichiers attachés Fichiers attachés

  9. #9
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut,

    Pour ôter ce qui est en jaune avant le 1er paragraphe vert, il faut faire une boucle de rechercher/remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rechercher = "^p |^w|^p"
    Remplacer = "^p"
    Pour ôter ce qui est en jaune entre le 1er paragraphe vert et le 2ième, il faut faire une boucle de rechercher/remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rechercher = "^p |^w|^w|^w|^w|^p"
    Remplacer = "^p"
    Remarque : Attention, toutes les lignes de cette forme sont supprimées (pas uniquement que celles qui tu as marqué en jaune).

    @+

Discussions similaires

  1. Mise en Page d'un document xml dans une JSP
    Par sami117 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 03/01/2010, 20h32
  2. Mise en page d'un document Word sous VBA/Word
    Par cupidette92 dans le forum VBA Word
    Réponses: 15
    Dernier message: 20/02/2008, 19h48
  3. mise en page d'un document
    Par Qamalito dans le forum Word
    Réponses: 8
    Dernier message: 09/10/2007, 15h49
  4. Réponses: 3
    Dernier message: 30/06/2006, 16h10

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