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 02/08/2007, 17h16   #1
Invité régulier
 
Inscription : avril 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 12
Points : 6
Points : 6
Par défaut Sélection/effacement de table de matières

Bonjour,

Voici mon problème.

Je possède un document WORD dans lequel j'insère différents documents WORD, chacun de ces documents ayant une table des matières.
Donc une fois ces documents insérés ( via Macro), je me retrouve avec un document qui contient X fois la table des matières, et je voudrais les enlever.

Bien entendu, je n'ai pas la possibilité de virer ces tables des matières dans les documents eux-mêmes, ça serait trop beau.

Donc mon idée est d'enlever tout ce qui est de type " table of content" dans mon document.
Une idée de comment on peut faire ça? ^^

Mes tables des matières sont situées un peu partout dans mon document...
Une autre idée serait de pouvoir sélectionner une zone entre 2 chaînes de caractère.

Par exemple, j'aimerais pouvoir sélectionner la zone entre " Table of Contents" et la dernière entrée de ma table (que je connais).

Quelqu'un aurait il un bout de code pouvant répondre grosso modo à mon besoin ?
Je continue à fouiller le forum, voir si je n'y trouve pas mon bonheur.

Merci d'avance.
vincent_phi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 17h38   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
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 354
Points : 29 270
Points : 29 270
Les documents sont-ils insérés avec un lien ou dans le document ?
__________________
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 02/08/2007, 17h53   #3
Invité régulier
 
Inscription : avril 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 12
Points : 6
Points : 6
Comme des documents, en utilisant qqch genre 'InsertFile'
vincent_phi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 18h09   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
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 354
Points : 29 270
Points : 29 270
Code :
1
2
3
4
5
6
7
8
9
 
Sub TableMatDel()
Dim ch As Field
 
For Each ch In ActiveDocument.Fields
ch.Select
Selection.Delete
Next ch
End Sub
Essaie ça, mais il faudra remettre une table des matières, ce code les supprime toutes.
En fit, il supprime les champs.
__________________
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 02/08/2007, 18h18   #5
Invité régulier
 
Inscription : avril 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 12
Points : 6
Points : 6
Après essai, ça efface en effet les tables des matières.. ainsi que tous les documents insérés

En fait, je me rends compte que mes documents se comportent un peu comme un seul grand ensemble de champs. ( Quand je clique à un endroit d'un document inséré, tout le document devient grisé)
vincent_phi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 18h21   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
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 354
Points : 29 270
Points : 29 270
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Sub TableMatDel()
Dim ch As Field
 
For Each ch In ActiveDocument.Fields
ch.Select
'Debug.Print ch.Code
If Left(ch.Code, 4) = " TOC" Then
    Selection.Delete
 
ElseIf Left(ch.Code, 4) = " HYP" Then
    Selection.Delete
ElseIf Left(ch.Code, 4) = " PAG" Then
    Selection.Delete
End If
 
 
Next ch
End Sub
Celui-ci ne devrait enlever que les tables des matières.
__________________
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 02/08/2007, 18h33   #7
Invité régulier
 
Inscription : avril 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 12
Points : 6
Points : 6
Ok, ça fonctionne nickel pour m'enlever les tables des matières.
J'ai d'autres choses à virer, mais ce sont des bêtes chaînes de caractère, donc je devrais pouvoir m'en tirer tout seul.

Merci mille fois!

Petite question subsidiaire: comment je sélectionne une image ? :-)
vincent_phi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 20h44   #8
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
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 354
Points : 29 270
Points : 29 270
Les images sont dans la collection Shapes.
__________________
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 14/08/2007, 14h24   #9
Invité régulier
 
Inscription : avril 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 12
Points : 6
Points : 6
Continuant sur ma lancée, j'ai décidé de changer mon fusil d'épaule.

Toujours sur mon problème décrit au premier post, je pense plutot enlever les 2 premières pages ( ie page de garde+sommaire, ou au moins première page + virer sommaire avec les solutions que vous m'avez proposées) de tous les items que je vais insérer.

Je connais leur nom et leur emplacement. J'ai une vague idée pour enlever la première page ( et en fouillant ce forum, je devrais trouver), mais je ne vois pas comment " entrer" dans les documents que je veux modifier.

J'ai en tête une macro qui pourrait faire:

- A l'ouverture du document A ( ça, je sais faire)
- Je rentre ds les documents A1,A2 et A3 ( ça par contre... je sais ouvrir un document, faire des trucs dedans et tout refermer, mais je n'arrive pas à parcourir)
- dans ces docs, je vire la première page + le sommaire ( ça, je sais faire)
- J'insère des documents dans le document A ( ça, je sais faire)

En résumé, il me manque la partie " je parcours un répertoire" ^^.
J'ai trouvé par ci par là des bouts de code qui devraient marcher, mais problème de "type non défini"
j'ai bien activé la référence Microsoft office XX.X Object Library.




Merci d'avance.

EDIT:
En fait, c'est vachement bien documenté au sein du logiciel -_-.
Je dois ouvoir me débrouiller tout seul
vincent_phi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h23.


 
 
 
 
Partenaires

Hébergement Web