Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
geo
-----Message d'origine----- Bonjour ,
je souhaiterai savoir si l'on peut ecrire une macro permettant de limiter le
nombre de mots par page et si oui comment l'écrire ?
Oui, on peut, mais je ne vois ça qu'a posteriori, pas en cours de frappe. Par exemple : Sub MotsParPage() Dim m Dim i As Integer Const Limite As Integer = 100 i = 1 For Each m In ActiveDocument.Words i = i + 1 If i >= Limite Then m.Select Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.InsertBreak Type:=wdPageBreak i = 1 End If Next End Sub
Mais il faut enlever tous les sauts de page lors des modifications, et word ne sait pas faire la différence entre ceux que tu veux garder en plus de ceux-là.
On peut aussi imaginer d'autres solutions mais ça dépend exactement de ce que tu veux faire.
A+
-----Message d'origine-----
Bonjour ,
je souhaiterai savoir si l'on peut ecrire une macro
permettant de limiter le
nombre de mots par page et si oui comment l'écrire ?
Oui, on peut, mais je ne vois ça qu'a posteriori, pas en
cours de frappe. Par exemple :
Sub MotsParPage()
Dim m
Dim i As Integer
Const Limite As Integer = 100
i = 1
For Each m In ActiveDocument.Words
i = i + 1
If i >= Limite Then
m.Select
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
i = 1
End If
Next
End Sub
Mais il faut enlever tous les sauts de page lors des
modifications, et word ne sait pas faire la différence
entre ceux que tu veux garder en plus de ceux-là.
On peut aussi imaginer d'autres solutions mais ça dépend
exactement de ce que tu veux faire.
je souhaiterai savoir si l'on peut ecrire une macro permettant de limiter le
nombre de mots par page et si oui comment l'écrire ?
Oui, on peut, mais je ne vois ça qu'a posteriori, pas en cours de frappe. Par exemple : Sub MotsParPage() Dim m Dim i As Integer Const Limite As Integer = 100 i = 1 For Each m In ActiveDocument.Words i = i + 1 If i >= Limite Then m.Select Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.InsertBreak Type:=wdPageBreak i = 1 End If Next End Sub
Mais il faut enlever tous les sauts de page lors des modifications, et word ne sait pas faire la différence entre ceux que tu veux garder en plus de ceux-là.
On peut aussi imaginer d'autres solutions mais ça dépend exactement de ce que tu veux faire.
A+
jl.roux3
Merci pour la solution ... Ne pourrait-on pas envisager une solution plus simple qui compte les mots par page et des que la limite est atteinte alors une boite de dialogue apparaisse pour avertir que la limite des mots est atteinte (mais la aussi je suppose que cette solution ne peux se faire qu' a posteriori )
P.S.: en utilisant la macro donnée j'ai remarqué que celle ci me faisait des sauts de pages meme pour un nombre de mots qui ne dépassait pas la limite ... peut-être un problème pour compter les mots ou alors ActiveDocument.Words compte des mots qui ne sont pas des mots ????
"geo" a écrit dans le message de news:05c301c3a39d$98b94ee0$
-----Message d'origine----- Bonjour ,
je souhaiterai savoir si l'on peut ecrire une macro permettant de limiter le
nombre de mots par page et si oui comment l'écrire ?
Oui, on peut, mais je ne vois ça qu'a posteriori, pas en cours de frappe. Par exemple : Sub MotsParPage() Dim m Dim i As Integer Const Limite As Integer = 100 i = 1 For Each m In ActiveDocument.Words i = i + 1 If i >= Limite Then m.Select Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.InsertBreak Type:=wdPageBreak i = 1 End If Next End Sub
Mais il faut enlever tous les sauts de page lors des modifications, et word ne sait pas faire la différence entre ceux que tu veux garder en plus de ceux-là.
On peut aussi imaginer d'autres solutions mais ça dépend exactement de ce que tu veux faire.
A+
Merci pour la solution ...
Ne pourrait-on pas envisager une solution plus simple qui compte les mots
par page et des que la limite est atteinte alors une boite de dialogue
apparaisse pour avertir que la limite des mots est atteinte (mais la aussi
je suppose que cette solution ne peux se faire qu' a posteriori )
P.S.:
en utilisant la macro donnée j'ai remarqué que celle ci me faisait des sauts
de pages meme pour un nombre de mots qui ne dépassait pas la limite ...
peut-être un problème pour compter les mots ou alors ActiveDocument.Words
compte des mots qui ne sont pas des mots ????
"geo" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:05c301c3a39d$98b94ee0$a001280a@phx.gbl...
-----Message d'origine-----
Bonjour ,
je souhaiterai savoir si l'on peut ecrire une macro
permettant de limiter le
nombre de mots par page et si oui comment l'écrire ?
Oui, on peut, mais je ne vois ça qu'a posteriori, pas en
cours de frappe. Par exemple :
Sub MotsParPage()
Dim m
Dim i As Integer
Const Limite As Integer = 100
i = 1
For Each m In ActiveDocument.Words
i = i + 1
If i >= Limite Then
m.Select
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
i = 1
End If
Next
End Sub
Mais il faut enlever tous les sauts de page lors des
modifications, et word ne sait pas faire la différence
entre ceux que tu veux garder en plus de ceux-là.
On peut aussi imaginer d'autres solutions mais ça dépend
exactement de ce que tu veux faire.
Merci pour la solution ... Ne pourrait-on pas envisager une solution plus simple qui compte les mots par page et des que la limite est atteinte alors une boite de dialogue apparaisse pour avertir que la limite des mots est atteinte (mais la aussi je suppose que cette solution ne peux se faire qu' a posteriori )
P.S.: en utilisant la macro donnée j'ai remarqué que celle ci me faisait des sauts de pages meme pour un nombre de mots qui ne dépassait pas la limite ... peut-être un problème pour compter les mots ou alors ActiveDocument.Words compte des mots qui ne sont pas des mots ????
"geo" a écrit dans le message de news:05c301c3a39d$98b94ee0$
-----Message d'origine----- Bonjour ,
je souhaiterai savoir si l'on peut ecrire une macro permettant de limiter le
nombre de mots par page et si oui comment l'écrire ?
Oui, on peut, mais je ne vois ça qu'a posteriori, pas en cours de frappe. Par exemple : Sub MotsParPage() Dim m Dim i As Integer Const Limite As Integer = 100 i = 1 For Each m In ActiveDocument.Words i = i + 1 If i >= Limite Then m.Select Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.InsertBreak Type:=wdPageBreak i = 1 End If Next End Sub
Mais il faut enlever tous les sauts de page lors des modifications, et word ne sait pas faire la différence entre ceux que tu veux garder en plus de ceux-là.
On peut aussi imaginer d'autres solutions mais ça dépend exactement de ce que tu veux faire.
A+
geo
Re
-----Message d'origine----- Merci pour la solution ... Ne pourrait-on pas envisager une solution plus simple qui compte les mots
par page et des que la limite est atteinte alors une boite de dialogue
apparaisse pour avertir que la limite des mots est atteinte (mais la aussi
je suppose que cette solution ne peux se faire qu' a posteriori )
A ma connaissance : oui, sinon il faudrait déclencher une macro de comptage au fur et à mesure de chaque changement dans le document, le PC ne suivrait pas de toutes manières.
Ca dépend aussi si les pages sont délimitées par des sauts de page ou des changements de page "naturels" qui dépendent donc de l'imprimante, des marges, des polices etc etc. De toutes manières c'est déclenché à la main. On peut par exmple faire un tableau avec le nombre de mots par page.
P.S.: en utilisant la macro donnée j'ai remarqué que celle ci me faisait des sauts
de pages meme pour un nombre de mots qui ne dépassait pas la limite ...
peut-être un problème pour compter les mots ou alors ActiveDocument.Words
compte des mots qui ne sont pas des mots ????
Il faut voir dans VBA si la définition de words est assez précise, sinon on peut vérifier. en y repensant la conception n'est aps bonne car en ajoutant des sauts de page on doit perturber le for each. Copie à revoir.
Re
-----Message d'origine-----
Merci pour la solution ...
Ne pourrait-on pas envisager une solution plus simple qui
compte les mots
par page et des que la limite est atteinte alors une
boite de dialogue
apparaisse pour avertir que la limite des mots est
atteinte (mais la aussi
je suppose que cette solution ne peux se faire qu' a
posteriori )
A ma connaissance : oui, sinon il faudrait déclencher une
macro de comptage au fur et à mesure de chaque changement
dans le document, le PC ne suivrait pas de toutes manières.
Ca dépend aussi si les pages sont délimitées par des sauts
de page ou des changements de page "naturels" qui
dépendent donc de l'imprimante, des marges, des polices
etc etc.
De toutes manières c'est déclenché à la main.
On peut par exmple faire un tableau avec le nombre de mots
par page.
P.S.:
en utilisant la macro donnée j'ai remarqué que celle ci
me faisait des sauts
de pages meme pour un nombre de mots qui ne dépassait pas
la limite ...
peut-être un problème pour compter les mots ou alors
ActiveDocument.Words
compte des mots qui ne sont pas des mots ????
Il faut voir dans VBA si la définition de words est assez
précise,
sinon on peut vérifier.
en y repensant la conception n'est aps bonne car en
ajoutant des sauts de page on doit perturber le for each.
Copie à revoir.
-----Message d'origine----- Merci pour la solution ... Ne pourrait-on pas envisager une solution plus simple qui compte les mots
par page et des que la limite est atteinte alors une boite de dialogue
apparaisse pour avertir que la limite des mots est atteinte (mais la aussi
je suppose que cette solution ne peux se faire qu' a posteriori )
A ma connaissance : oui, sinon il faudrait déclencher une macro de comptage au fur et à mesure de chaque changement dans le document, le PC ne suivrait pas de toutes manières.
Ca dépend aussi si les pages sont délimitées par des sauts de page ou des changements de page "naturels" qui dépendent donc de l'imprimante, des marges, des polices etc etc. De toutes manières c'est déclenché à la main. On peut par exmple faire un tableau avec le nombre de mots par page.
P.S.: en utilisant la macro donnée j'ai remarqué que celle ci me faisait des sauts
de pages meme pour un nombre de mots qui ne dépassait pas la limite ...
peut-être un problème pour compter les mots ou alors ActiveDocument.Words
compte des mots qui ne sont pas des mots ????
Il faut voir dans VBA si la définition de words est assez précise, sinon on peut vérifier. en y repensant la conception n'est aps bonne car en ajoutant des sauts de page on doit perturber le for each. Copie à revoir.
geo
Voici la macro rectifiée : Il suffit de mettre la limite à 1 pour voir tout ce que word compte pour un mot, pas triste.
Sub MotsParPage() Dim d As Integer Dim i As Integer Const Limite As Integer = 1000 i = 1 Selection.HomeKey unit:=wdStory Do d = Selection.MoveRight(wdWord, 1, 0) If d = 0 Then Exit Do ' Vérifier ici les valeurs à ne pas compter comme mot ' et dans ce cas aller directement à loop i = i + 1 If i >= Limite Then Selection.InsertBreak Type:=wdPageBreak i = 1 End If Loop End Sub
Voici la macro rectifiée :
Il suffit de mettre la limite à 1 pour voir tout ce que
word compte pour un mot, pas triste.
Sub MotsParPage()
Dim d As Integer
Dim i As Integer
Const Limite As Integer = 1000
i = 1
Selection.HomeKey unit:=wdStory
Do
d = Selection.MoveRight(wdWord, 1, 0)
If d = 0 Then Exit Do
' Vérifier ici les valeurs à ne pas compter comme mot
' et dans ce cas aller directement à loop
i = i + 1
If i >= Limite Then
Selection.InsertBreak Type:=wdPageBreak
i = 1
End If
Loop
End Sub
Voici la macro rectifiée : Il suffit de mettre la limite à 1 pour voir tout ce que word compte pour un mot, pas triste.
Sub MotsParPage() Dim d As Integer Dim i As Integer Const Limite As Integer = 1000 i = 1 Selection.HomeKey unit:=wdStory Do d = Selection.MoveRight(wdWord, 1, 0) If d = 0 Then Exit Do ' Vérifier ici les valeurs à ne pas compter comme mot ' et dans ce cas aller directement à loop i = i + 1 If i >= Limite Then Selection.InsertBreak Type:=wdPageBreak i = 1 End If Loop End Sub
Anacoluthe
Bonjour !
"jl.roux3" nous a écrit ...
je souhaiterai savoir si l'on peut ecrire une macro permettant de limiter le nombre de mots par page et si oui comment l'écrire ?
Signalons juste en passant pour ceux qui sont payés au nombre de mots: Affichage / Barres d'outils / Statistiques
Mais bon, Geo va nous faire une macro tournant en arrière-plan qui affiche en permanence le compte des mots de la page en cours et bloque le clavier dès que le maximum est atteint ;-)
Anacoluthe « Je compte mes mots » - Emile ZOLA
Bonjour !
"jl.roux3" nous a écrit ...
je souhaiterai savoir si l'on peut ecrire une macro permettant de
limiter le nombre de mots par page et si oui comment l'écrire ?
Signalons juste en passant pour ceux qui sont payés au nombre de mots:
Affichage / Barres d'outils / Statistiques
Mais bon, Geo va nous faire une macro tournant en arrière-plan
qui affiche en permanence le compte des mots de la page en cours
et bloque le clavier dès que le maximum est atteint ;-)
je souhaiterai savoir si l'on peut ecrire une macro permettant de limiter le nombre de mots par page et si oui comment l'écrire ?
Signalons juste en passant pour ceux qui sont payés au nombre de mots: Affichage / Barres d'outils / Statistiques
Mais bon, Geo va nous faire une macro tournant en arrière-plan qui affiche en permanence le compte des mots de la page en cours et bloque le clavier dès que le maximum est atteint ;-)
Anacoluthe « Je compte mes mots » - Emile ZOLA
Geo
Bonsoir Anacoluthe,
Bonjour !
"jl.roux3" nous a écrit ...
je souhaiterai savoir si l'on peut ecrire une macro permettant de limiter le nombre de mots par page et si oui comment l'écrire ?
Signalons juste en passant pour ceux qui sont payés au nombre de mots:
Affichage / Barres d'outils / Statistiques
Mais bon, Geo va nous faire une macro tournant en arrière-plan qui affiche en permanence le compte des mots de la page en cours et bloque le clavier dès que le maximum est atteint ;-)
C'est ça qu'il faudrait faire :-) Mais même si on savait, pas sûr que le micro arrive jusqu'à 100 mots sans surchauffer. C'est pour ça que j'avais eu l'idée d'ajouter un saut de pages à 100 mots comme ça on était certains du contenu. Reste la solution de souligner à l'encre rouge les mots en trop dans les pages. Et s'il n'y en a pas assez, que faire ? Ah les affres de la page blanche ! Encore faut-il s'entendre sur ce qu'est un mot, et word a une définition bien personnelle et bien cachée, je ne l'ai pas trouvée. Ceci dit on avait déjà travaillé sur le sujet il me semble.
A+
Bonsoir Anacoluthe,
Bonjour !
"jl.roux3" nous a écrit ...
je souhaiterai savoir si l'on peut ecrire une macro permettant de
limiter le nombre de mots par page et si oui comment l'écrire ?
Signalons juste en passant pour ceux qui sont payés au nombre de
mots:
Affichage / Barres d'outils / Statistiques
Mais bon, Geo va nous faire une macro tournant en arrière-plan
qui affiche en permanence le compte des mots de la page en cours
et bloque le clavier dès que le maximum est atteint ;-)
C'est ça qu'il faudrait faire :-)
Mais même si on savait, pas sûr que le micro arrive jusqu'à 100 mots
sans surchauffer.
C'est pour ça que j'avais eu l'idée d'ajouter un saut de pages à 100
mots comme ça on était certains du contenu.
Reste la solution de souligner à l'encre rouge les mots en trop dans
les pages.
Et s'il n'y en a pas assez, que faire ? Ah les affres de la page
blanche !
Encore faut-il s'entendre sur ce qu'est un mot, et word a une
définition bien personnelle et bien cachée, je ne l'ai pas trouvée.
Ceci dit on avait déjà travaillé sur le sujet il me semble.
je souhaiterai savoir si l'on peut ecrire une macro permettant de limiter le nombre de mots par page et si oui comment l'écrire ?
Signalons juste en passant pour ceux qui sont payés au nombre de mots:
Affichage / Barres d'outils / Statistiques
Mais bon, Geo va nous faire une macro tournant en arrière-plan qui affiche en permanence le compte des mots de la page en cours et bloque le clavier dès que le maximum est atteint ;-)
C'est ça qu'il faudrait faire :-) Mais même si on savait, pas sûr que le micro arrive jusqu'à 100 mots sans surchauffer. C'est pour ça que j'avais eu l'idée d'ajouter un saut de pages à 100 mots comme ça on était certains du contenu. Reste la solution de souligner à l'encre rouge les mots en trop dans les pages. Et s'il n'y en a pas assez, que faire ? Ah les affres de la page blanche ! Encore faut-il s'entendre sur ce qu'est un mot, et word a une définition bien personnelle et bien cachée, je ne l'ai pas trouvée. Ceci dit on avait déjà travaillé sur le sujet il me semble.
A+
Anacoluthe
Bonjour la compagnie !
"Geo" nous a écrit ...
Mais bon, Geo va nous faire une macro tournant en arrière-plan qui affiche en permanence le compte des mots de la page en cours et bloque le clavier dès que le maximum est atteint ;-)
C'est ça qu'il faudrait faire :-) Mais même si on savait, pas sûr que le micro arrive jusqu'à 100 mots sans surchauffer.
Pour donner un peu de grain à moudre à l'ami Geo : ;-)
La technique la plus simple pour faire une surveillance en vba est je pense OnTime.
Dans l'exemple suivant, volontairement minimal, Word va te sortir toutes les minutes un message d'alerte très énervant si le document contient plus de 100 mots :
Sub SurveilleMoi() Application.OnTime when:=Now + TimeValue("00:01:00"), _ Name:="CompteLesMots", _ Tolerance: End Sub
Sub CompteLesMots() If ActiveDocument.Content.Words.Count > 100 Then MsgBox Prompt:="Plus de 100 mots", _ Buttons:=vbCritical, Title:="Alerte !" End If SurveilleMoi ' et on boucle ! End Sub
A+
Anacoluthe « Je compte mes mots » - Emile ZOLA
Bonjour la compagnie !
"Geo" nous a écrit ...
Mais bon, Geo va nous faire une macro tournant en arrière-plan
qui affiche en permanence le compte des mots de la page en cours
et bloque le clavier dès que le maximum est atteint ;-)
C'est ça qu'il faudrait faire :-)
Mais même si on savait, pas sûr que le micro arrive jusqu'à 100 mots
sans surchauffer.
Pour donner un peu de grain à moudre à l'ami Geo : ;-)
La technique la plus simple pour faire une surveillance
en vba est je pense OnTime.
Dans l'exemple suivant, volontairement minimal,
Word va te sortir toutes les minutes un message d'alerte
très énervant si le document contient plus de 100 mots :
Sub SurveilleMoi()
Application.OnTime when:=Now + TimeValue("00:01:00"), _
Name:="CompteLesMots", _
Tolerance:
End Sub
Sub CompteLesMots()
If ActiveDocument.Content.Words.Count > 100 Then
MsgBox Prompt:="Plus de 100 mots", _
Buttons:=vbCritical, Title:="Alerte !"
End If
SurveilleMoi ' et on boucle !
End Sub
Mais bon, Geo va nous faire une macro tournant en arrière-plan qui affiche en permanence le compte des mots de la page en cours et bloque le clavier dès que le maximum est atteint ;-)
C'est ça qu'il faudrait faire :-) Mais même si on savait, pas sûr que le micro arrive jusqu'à 100 mots sans surchauffer.
Pour donner un peu de grain à moudre à l'ami Geo : ;-)
La technique la plus simple pour faire une surveillance en vba est je pense OnTime.
Dans l'exemple suivant, volontairement minimal, Word va te sortir toutes les minutes un message d'alerte très énervant si le document contient plus de 100 mots :
Sub SurveilleMoi() Application.OnTime when:=Now + TimeValue("00:01:00"), _ Name:="CompteLesMots", _ Tolerance: End Sub
Sub CompteLesMots() If ActiveDocument.Content.Words.Count > 100 Then MsgBox Prompt:="Plus de 100 mots", _ Buttons:=vbCritical, Title:="Alerte !" End If SurveilleMoi ' et on boucle ! End Sub
A+
Anacoluthe « Je compte mes mots » - Emile ZOLA
geo
Bonjour
Pas mal l'idée, même si limité à une page.
On pourrait colorier les n premiers mots en bleu, les n+1 à 2n en vert etc...
Amusant à faire.
A+
Bonjour
Pas mal l'idée, même si limité à une page.
On pourrait colorier les n premiers mots en bleu, les n+1
à 2n en vert etc...