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 20/04/2011, 16h50   #1
jlf
Candidat au titre de Membre du Club
 
Inscription : juillet 2002
Messages : 135
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 135
Points : 13
Points : 13
Par défaut action à chaque page

bonjour

pardon si ma question est trop élémentaire, mais c'est ma première macro Word et je patauge :o(

voila :

mon document courant contient des sauts de page (pas sauts automatiques, mais bien des sauts insérés manuellement par Ctr+Return)

je voudrais modifier le Nième paragraphe suivant chaque saut de page, en remplacant tous ses caractère de la position C à la fin de ligne par un texte fixe

merci de votre aide
jlf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 18h19   #2
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 592
Points : 1 592
Envoyer un message via MSN à carden752
Bonjour,

Qu'avez vous commencer à coder?
Il faut tout d'abord effectuer une boucle sur chaque section (For Each)
Puis se positionner au nième paragraphe avec Move
puis se déplacer à droite avec MoveRight
se déplacer jusqu'à la fin avec MoveEnd
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 20h40   #3
jlf
Candidat au titre de Membre du Club
 
Inscription : juillet 2002
Messages : 135
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 135
Points : 13
Points : 13
> Il faut tout d'abord effectuer une boucle sur chaque section

mon pbm c'est que je ne connais pas du tout les objets Word, et je me sens pas le courage de me farcir toute la litérature, ce pourquoi je viens sur ce forum dans l'espoir de gagner du temps ;o)

en tous cas merci de l'info, je viens de voir que "Sections" est une collection de l'objet document
mais c'est quoi une section exactement, c'est une partie du doc délimitée par les sauts de page volontaires et pas les saut de page automatiques qui viennent suite au formatage du doc ?

si oui ça me convient effectivement, mais je ne comprends comment accéder à la collection de paragraphes compris dans la section en cours, il ne semble pas y avoir de collection "Paragraphes" dans une section, seulement dans "Document" ?

et pour finir il faut en passer obligatoirement par une sélection, il n'y a pas de possibilité d'affecter directement les caractères d'un paragraphe, genre

ActiveDocument.Sections(5).Paragraphes(4).Text = ActiveDocument.Sections(5).Paragraphes(4).Text(1..25) + "..."
jlf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 21h17   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 322
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 322
Points : 29 223
Points : 29 223
Salut,

Un saut de page n'est pas une section et on peut avoir plusieurs sections sur une même page.
Les sections sont principalement utilisée pour définir la mise en page du document.

Je pense que la boucle serait plus facile avec un Selection.Find sur un saut de page manuel "^m".
Pour modifier le texte d'un paragraphe, on a deux options, l'une ou l'on travaille avec une sélection qui représente en fait le pointeur de la souris ou avec un objet Range et une méthode qui peut convenir comme InsertAfter.
__________________
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/04/2011, 22h01   #5
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 592
Points : 1 592
Envoyer un message via MSN à carden752
Bonjour,

Citation:
Un saut de page n'est pas une section et on peut avoir plusieurs sections sur une même page
Bien vu Olivier,
J'ai lu un peu trop vite, effectivement on parle bien de saut de page et le mieux c'est bien la méthode find du coup.
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 22h43   #6
jlf
Candidat au titre de Membre du Club
 
Inscription : juillet 2002
Messages : 135
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 135
Points : 13
Points : 13
> Je pense que la boucle serait plus facile avec un Selection.Find
> sur un saut de page manuel "^m".

OK merci

et quand je trouve un "^m", comment déterminer à quel indice de paragraphe il appartient ?
jlf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 23h11   #7
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 592
Points : 1 592
Envoyer un message via MSN à carden752
Bonjour,

Citation:
et quand je trouve un "^m", comment déterminer à quel indice de paragraphe il appartient ?
il faut ruser

Le principe est d'étendre la sélection jusqu'au début puis après de compter le nombre de paragraphes.
un peu de lecture
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 23h12   #8
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 322
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 322
Points : 29 223
Points : 29 223
Salut,

Utilises l'enregsitreur de macro et voilà un lien qui devrait t'aider un peu http://sepia.developpez.com/office/w...cherremplacer/
__________________
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
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h26.


 
 
 
 
Partenaires

Hébergement Web