Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/01/2011, 13h28   #1
 
Inscription : septembre 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 25
Points : -1
Points : -1
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.
________________________________________________
lecrol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 18h32   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 317
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 317
Points : 29 214
Points : 29 214
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 :
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 18h50   #3
 
Inscription : septembre 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 25
Points : -1
Points : -1
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
lecrol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 20h17   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 317
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 317
Points : 29 214
Points : 29 214
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2011, 01h10   #5
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 377
Points : 3 377
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.

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h05.


 
 
 
 
Partenaires

Hébergement Web