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 :

créer automatiquement un doc word à partir d'un autre doc


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Points : 13
    Points
    13
    Par défaut créer automatiquement un doc word à partir d'un autre doc
    Bonjour à tous,
    Voici mon problème:
    J'ai un document word comportant une collection de poèmes (500 environ). Chaque poème est construit de la façon suivante :
    Une ligne de style "titre1", x lignes "Normal" et une ligne style "Titre 2".

    Je voudrais créer automatiquement, pour l'édition d'un livre, un document qui ne reprendrait que les styles "titres 1" et "titre 2" seulement, mais pas les lignes "normal" (en fait que les titres des poèmes et les noms d'auteur)

    Je n'ai jamais fait de macro ni de VBA sous Word. Qui peut m'éclairer pour résoudre ce problème ?
    Merci d'avance
    Roland

    Exemple :
    Titre 1 La rose
    ligne 1 (format "normal")
    ligne 2 (format "normal")

    ...
    dernière ligne (format "normal")
    Titre 2 Auteur xxx

    Titre 1 suivant
    etc.
    etc.
    etc.
    Titre 2 suivant
    ....

    Et je voudrais créer, automatiquement, un nouveau document :
    Titre 1; Titre 2
    Titre 1 suivant; Titre 2 suivant

    etc.
    ________________________________________________

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Pourquoi créer un nouveau document, il suffit de sauvegarder sous un autre nom.

    Pour supprimer les paragraphes, voilà un exemple de code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub SupprimerPara()
    Dim pAra As Paragraph
     
    For Each pAra In ActiveDocument.Paragraphs
     
    If pAra.Range.Style = "Normal" Then pAra.Range.Delete
    Next pAra
     
    End Sub
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 25
    Points : 13
    Points
    13
    Par défaut Youppie !
    Merciiiiiiiii de la réponse rapide et précise
    Effectivement, ça a l'air vraiment tout simple (quand on sait !).
    Il me reste juste un petit détail, si tu me le permets avant d'essayer "en vrai":

    Comment accrocher et mettre en fonction cette macro (ou procédure ?) dans mon document Word de base
    Sinon, c'est vrai que, comme tu me le dis, je vais partir du document de base, la liste des poèmes, pour créer le nouveau document par "enregistrer sous" un autre nom.

    Mais comment "mettre en action" ma procédure ?
    Excuse-moi si ma question est trop basique. Mais tu constates que je n'ai jamais fait de VBA sous Word, ni jamais utilisé de macro.
    Alors que je le fais pas mal et depuis longtemps avec Excel ou Access
    Sous Word, par contre, je ne vois pas bien comment procéder. Faut-il un bouton de commande à placer quelque part sur le document de départ ? Sinon, comment "déclencher" la procédure pour qu'elle s'applique bien à la totalité du document de départ qui fera environ 300 pages.

    En fait tu l'as bien compris je veux obtenir finalement 2 documents complémentaires:
    1 - la liste des poèmes, les uns après les autres, à la queue leu-leu sur 300 pages environ,
    2 - un répertoire des titres et noms d'auteur que je placerai en fin du livre 1.

    Au fait, pour ce répertoire, me serait-il possible de récupérer aussi les numéros de pages de chaque poème du document "liste" ?Tu devines sans doute que ça m'évitera de les placer à la main, en les recopiant et au risque de me tromper ici ou là.

    Amicalement,
    Roland

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Une table des matières et un index serait plus utile qu'une usine à gaz.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    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 : 60
    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 Rolland,

    Citation Envoyé par Heureux-oli Voir le message
    Salut,
    Une table des matières et un index seraient plus utiles qu'une usine à gaz.

    Bien évidemment. Tu demandes qui peut t'aider à extraire les textes de titre 1 et de titre 2, ben la réponse est.. Word. Voici la procédure à suivre:
    1. Tu ouvres ton document
    2. Tu vas dans "Insertion -> Table des matières"
    3. Tu cliques sur Ok

    Word t'a sorti les textes désirés (sans macro) et un clic et en plus si tu modifies, c'est à jour avec juste un simple "<Ctrl>+<A>" puis "<F9>". Pourquoi utiliser des macros (à part se complexifier la vie et avoir un résultat statique).

    Maintenant comme c'est un e table des matières, tu peux l'adapter. Par exemple, je suppose que les paragraphes de niveau 3 (si tu en as) ne t'intéressent puisque tu n'en a pas parlé ==> dans la table des matières, tu as une option pour choisir le niveau (ici tu devrais t'arrêter à 2). Idem vu que tu n'as rien dit sur les n° de pages, je suppose que tu ne les veux pas ==> dans la table des matières, tu as une option pour ne pas afficher les n° de page.Toutes ses options sont très bien décrites dans un tutoriel de Heureux-Oli, clique ici pour y accéder.

    Dernier truc, si tu veux exporter ta table des matières dans un autre document, il te suffit de faire un Copier/coller de la table mais si tu effectues une mise à jour des champs de ton document ("<Ctrl>+<A>" puis "<F9>"), tu vas perdre ton contenu de document initial. Word permet de rendre un champ statique, pour cela avant ton copier/coller, utilises la commande "<CTRL>+<Maj>+<F9>" qui rend un champ statique, puis tu colles et la liste est alors fixe.

    Si tu as besoin, n'hésite pas.

    @+

Discussions similaires

  1. [XL-2003] Comment créer un tableau sous Word à partir de VBA Excel
    Par datacell33 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/05/2011, 10h01
  2. Réponses: 20
    Dernier message: 22/01/2009, 12h10
  3. Ouvrir un doc word à partir d'excel
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/05/2008, 20h06
  4. Fusion d'un doc word à partir d'une application
    Par Tibaldus dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/09/2007, 11h42
  5. Renseignez un doc Word à partir d'access
    Par kyrine dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/08/2007, 12h32

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