Bonjour,
SVP je voudrais savoir s'il existe une macro word qui permette de faire la chose suivante:
1. avant:
Monsieur
Claude
Jacques
2. après:
Monsieur Claude Jacques
Pour le 1. un espace est déjà présent après chaque mot.
Merci d'avance
J.
Bonjour,
SVP je voudrais savoir s'il existe une macro word qui permette de faire la chose suivante:
1. avant:
Monsieur
Claude
Jacques
2. après:
Monsieur Claude Jacques
Pour le 1. un espace est déjà présent après chaque mot.
Merci d'avance
J.
Salut,
On pourrait le faire, mais le tout est de savoir dans quelle mesure tu veux l'appliquer.
Les paragraphes sont-ils toujours au même endroit ?
Combien de fois par document ce changement doit-il être appliqué ?
Re-bonjour,
merci pour votre réponse.
Non ces paragraphes ne sont pas toujours au même endroit et sont entrecoupés d'autres types de paragraphes (genre bloc de textes) tout au long de documents word de 300 pages.
les seuls mots qui reviennent donc régulièrement sont donc " monsieur" et "madame" par exemple. mais comment donc aligner les 2 mots qui suivent (pas le même nombre de lettres) en face de "monsieur" par exemple.
Merci d'avance pour votre aide
J.
re-bonjour encore,
pour le nombre de fois je ne sais pas, il faudrait peut-être que je fasse un do loop avec reconnaissance des caractères qui déterminent l'alignement comme "monsieur" ou "madame" ?
thanks
Salut,
Si la structure est toujours la même dans le texte on peut faire une boucle sur tous les paragraphes, et lorsque l'on rencontre un paragraphe ne contenant que Monsieur ou Madame, obtenir le changement.
Bonjour,
Merci mais ce serait quoi SVP la formule pour aligner donc les mots ?
Merci beaucoup d'avance
J.
Salut,
Essaie ce code pour voir ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub TestAlignementMots() Dim para As Paragraph For Each para In ActiveDocument.Paragraphs If para.Range.Words.Count = 2 And para.Range.Words(1) = "Monsieur" Then para.Range.Select Selection.EndKey Unit:=wdLine Selection.TypeText Text:=" " Selection.Delete Unit:=wdCharacter, Count:=1 Selection.EndKey Unit:=wdLine Selection.TypeText Text:=" " Selection.Delete Unit:=wdCharacter, Count:=1 ElseIf para.Range.Words.Count = 2 And para.Range.Words(1) = "Madame" Then para.Range.Select Selection.EndKey Unit:=wdLine Selection.TypeText Text:=" " Selection.Delete Unit:=wdCharacter, Count:=1 Selection.EndKey Unit:=wdLine Selection.TypeText Text:=" " Selection.Delete Unit:=wdCharacter, Count:=1 End If Next para End Sub
Salut,
Tu peux aussi utiliser les mécanismes de rechercher/remplacer standards fournis par Word que tu n'as qu'à exécuter en mode enregistrement de macros.
@+
Bonjour,
merci à tous pour vos suggestions.
j'ai écris cette macro qui me permet d'effectuer ce que je voulais (ref; ci-dessous), mais le probleme c'est toujours de stopper à la fin du document. même en utilisant le nombre de page, ça foire à la fin (because y a repagination avec ces sauts de lignes qui disparaissent après les mots en questions):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Sub Monsieur() Do Until Selection.Information(wdActiveEndPageNumber) = x Selection.Find.ClearFormatting With Selection.Find .Text = "Monsieur" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.EndKey Unit:=wdLine Selection.Delete Unit:=wdCharacter, Count:=1 Selection.EndKey Unit:=wdLine Selection.TypeText Text:=" " Selection.Delete Unit:=wdCharacter, Count:=1 x = Selection.Information(wdNumberOfPagesInDocument) Loop End Sub
Salut,
Et le code que j'ai posté, il donne quoi ?
bonjour,
Merci mais ça n'aavait pas fonctionné. Rien ne se passait à l'execution de la macro.
J'ai essayé de modifier le "para" mais je n'ai pas réussi.
Merci
Bien cordialement
J.
Salut,
La fin des lignes est marquée avec un symbole de paragraphe ou par un retour à la ligne ?
Si tu pouvais mettre un morceau de fichier sur le forum pour voir comment il est construit ?
Bonjour,
à la fin des lignes, c'est à chaque fois un retour à la ligne.
Merci d'avance
J.
Salut,
Je comprend pourquoi la macor ne fonctionne pas, elle se base sur le paragraphe.
Il faut travailler sur les lignes.
Je vais regarder pour modifier mon code.
Bonjour.
Merci d'avance
J.
Bonjour,
OK maintenant j'utilise la macro ci-dessous qui marche très bien. Sauf que je dois préciser manuellement le nombre de mots en question (valeur du x).
SVP connaissez vous un moyen de calculer automatiquement le nombre de mot ?
Merci d'avance
J.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 Sub AXML9_Madame() Do Until x = 92 Selection.Find.ClearFormatting With Selection.Find .Text = "Madame" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.EndKey Unit:=wdLine Selection.Delete Unit:=wdCharacter, Count:=1 Selection.EndKey Unit:=wdLine Selection.TypeText Text:=" " Selection.Delete Unit:=wdCharacter, Count:=1 x = x + 1 Loop End Sub
Le nombre de mots de quoi ?SVP connaissez vous un moyen de calculer automatiquement le nombre de mot ?
Du document, du paragraphe, de la page, de la sélection, ...
Bonjour,
Ah oui, j'avais oublié de préciser, il s'agit d'un document word, et en fait x est le nombre de mot "Madame" dans l'ensemble du document.
Merci Heureux-oli
Jessica
Dans ce cas, tu dois en plus faire une boucle de rechercher sur la totalité du document et incrémenter ton X à chaque passage.
Bonjour,
Merci, je vais essayer ça.
J.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager