Bonjour à tous,
dans le message ,
| Bonjour Geo
|
| Je pense être, sauf erreur, dans le schéma "variables", car mon bout
| de macro s'inscrit dans une macro plus grande (que je n'ai pas écrite
| et) qui commence par option Base 0 (peut-on ajouter alors option
| explicit?)
| Mon bout de macro est ajouté au moment où la grande macro se trouve
| dans l'un des 600 documents word (qu'elle traite un par un) et où je
| fais des transformations automatiques.
| Si je modifie ma macro pour "result = Mid..." comme tu l'as écrit,
| j'obtiens en pas à pas le message suivant, après "result..." :
| erreur d'exécution 5. Argument ou appel de procédure incorrect
|
| Après cette instruction "result...", je supposais avoir sélectionner
| le texte entre les 2 bornes et j'ai donc ajouté les instructions de
| macro automatique des 2 colonnes et de l'italique (facile)
|
| Merci de ton aide
|
Pour moi, le mieux c'est de croire Anacoluthe et de se servir du find :
Public Sub SelectEntreBornes(Borne1 As String, Borne2 As String)
Dim Long1 As Long, Long2 As Long
'Pour être sûr de trouver du premier coup
ActiveDocument.Bookmarks("StartOfDoc").Select
Long1 = Len(Borne1)
Long2 = Len(Borne2)
Selection.Find.ClearFormatting
With Selection.Find
.Text = Borne1 & "*" & Borne2
.Replacement.Text = ""
.Forward = True
.MatchCase = True
.MatchWildcards = True
.Execute
End With
Selection.SetRange Selection.Range.Start + Long1, Selection.Range.End -
Long2
End Sub
--
A+
G.M. MVP Word
P.-S. Je ne suis pas sûr d'avoir tout compris, mais est-ce la partie
entre bornes que tu veux passer en deux colonnes, ou est-ce tout le
texte ?
Bonjour à tous,
dans le message 37D42B98-425B-4E2C-BA4A-8DC99B1357F2@microsoft.com,
| Bonjour Geo
|
| Je pense être, sauf erreur, dans le schéma "variables", car mon bout
| de macro s'inscrit dans une macro plus grande (que je n'ai pas écrite
| et) qui commence par option Base 0 (peut-on ajouter alors option
| explicit?)
| Mon bout de macro est ajouté au moment où la grande macro se trouve
| dans l'un des 600 documents word (qu'elle traite un par un) et où je
| fais des transformations automatiques.
| Si je modifie ma macro pour "result = Mid..." comme tu l'as écrit,
| j'obtiens en pas à pas le message suivant, après "result..." :
| erreur d'exécution 5. Argument ou appel de procédure incorrect
|
| Après cette instruction "result...", je supposais avoir sélectionner
| le texte entre les 2 bornes et j'ai donc ajouté les instructions de
| macro automatique des 2 colonnes et de l'italique (facile)
|
| Merci de ton aide
|
Pour moi, le mieux c'est de croire Anacoluthe et de se servir du find :
Public Sub SelectEntreBornes(Borne1 As String, Borne2 As String)
Dim Long1 As Long, Long2 As Long
'Pour être sûr de trouver du premier coup
ActiveDocument.Bookmarks("StartOfDoc").Select
Long1 = Len(Borne1)
Long2 = Len(Borne2)
Selection.Find.ClearFormatting
With Selection.Find
.Text = Borne1 & "*" & Borne2
.Replacement.Text = ""
.Forward = True
.MatchCase = True
.MatchWildcards = True
.Execute
End With
Selection.SetRange Selection.Range.Start + Long1, Selection.Range.End -
Long2
End Sub
--
A+
G.M. MVP Word
P.-S. Je ne suis pas sûr d'avoir tout compris, mais est-ce la partie
entre bornes que tu veux passer en deux colonnes, ou est-ce tout le
texte ?
Bonjour à tous,
dans le message ,
| Bonjour Geo
|
| Je pense être, sauf erreur, dans le schéma "variables", car mon bout
| de macro s'inscrit dans une macro plus grande (que je n'ai pas écrite
| et) qui commence par option Base 0 (peut-on ajouter alors option
| explicit?)
| Mon bout de macro est ajouté au moment où la grande macro se trouve
| dans l'un des 600 documents word (qu'elle traite un par un) et où je
| fais des transformations automatiques.
| Si je modifie ma macro pour "result = Mid..." comme tu l'as écrit,
| j'obtiens en pas à pas le message suivant, après "result..." :
| erreur d'exécution 5. Argument ou appel de procédure incorrect
|
| Après cette instruction "result...", je supposais avoir sélectionner
| le texte entre les 2 bornes et j'ai donc ajouté les instructions de
| macro automatique des 2 colonnes et de l'italique (facile)
|
| Merci de ton aide
|
Pour moi, le mieux c'est de croire Anacoluthe et de se servir du find :
Public Sub SelectEntreBornes(Borne1 As String, Borne2 As String)
Dim Long1 As Long, Long2 As Long
'Pour être sûr de trouver du premier coup
ActiveDocument.Bookmarks("StartOfDoc").Select
Long1 = Len(Borne1)
Long2 = Len(Borne2)
Selection.Find.ClearFormatting
With Selection.Find
.Text = Borne1 & "*" & Borne2
.Replacement.Text = ""
.Forward = True
.MatchCase = True
.MatchWildcards = True
.Execute
End With
Selection.SetRange Selection.Range.Start + Long1, Selection.Range.End -
Long2
End Sub
--
A+
G.M. MVP Word
P.-S. Je ne suis pas sûr d'avoir tout compris, mais est-ce la partie
entre bornes que tu veux passer en deux colonnes, ou est-ce tout le
texte ?
Bonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
chacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Bonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
chacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Bonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
chacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Bonjour Raymond PoulainBonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Bien compris, mais quand on sait faire à la main, c'est d'autant plus
facile pour le faire en vba puisque l'enregistreur de macro fait le trvail.Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
La première proposition que je t'ai faite focntionne, j'ai vérifié.
J'ai préféré traiter le "formattage" au niveau dechacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Oui, bof, les deux se défendent.
Perso j'aurais plutôt traité le gros fichier et carrément à la main tant
que c'est possible, ça permet d'affiner si nécessaire, voire d'intervenir
sur le texte si nécessaire.
Par contre 600 pages (au moins) c'est un peu lourd, il faut une bonne
bécane et du temps.
--
A+
Bonjour Raymond Poulain
Bonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Bien compris, mais quand on sait faire à la main, c'est d'autant plus
facile pour le faire en vba puisque l'enregistreur de macro fait le trvail.
Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
La première proposition que je t'ai faite focntionne, j'ai vérifié.
J'ai préféré traiter le "formattage" au niveau de
chacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Oui, bof, les deux se défendent.
Perso j'aurais plutôt traité le gros fichier et carrément à la main tant
que c'est possible, ça permet d'affiner si nécessaire, voire d'intervenir
sur le texte si nécessaire.
Par contre 600 pages (au moins) c'est un peu lourd, il faut une bonne
bécane et du temps.
--
A+
Bonjour Raymond PoulainBonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Bien compris, mais quand on sait faire à la main, c'est d'autant plus
facile pour le faire en vba puisque l'enregistreur de macro fait le trvail.Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
La première proposition que je t'ai faite focntionne, j'ai vérifié.
J'ai préféré traiter le "formattage" au niveau dechacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Oui, bof, les deux se défendent.
Perso j'aurais plutôt traité le gros fichier et carrément à la main tant
que c'est possible, ça permet d'affiner si nécessaire, voire d'intervenir
sur le texte si nécessaire.
Par contre 600 pages (au moins) c'est un peu lourd, il faut une bonne
bécane et du temps.
--
A+
Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la macro ?
Note accessoire : avec macro automatique Word, je n'arrive pas à
sélectionner le texte avec la souris, alors...
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
A+
Merci
RayBonjour Raymond PoulainBonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Bien compris, mais quand on sait faire à la main, c'est d'autant plus
facile pour le faire en vba puisque l'enregistreur de macro fait le trvail.Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
La première proposition que je t'ai faite focntionne, j'ai vérifié.
J'ai préféré traiter le "formattage" au niveau dechacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Oui, bof, les deux se défendent.
Perso j'aurais plutôt traité le gros fichier et carrément à la main tant
que c'est possible, ça permet d'affiner si nécessaire, voire d'intervenir
sur le texte si nécessaire.
Par contre 600 pages (au moins) c'est un peu lourd, il faut une bonne
bécane et du temps.
--
A+
Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la macro ?
Note accessoire : avec macro automatique Word, je n'arrive pas à
sélectionner le texte avec la souris, alors...
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
A+
Merci
Ray
Bonjour Raymond Poulain
Bonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Bien compris, mais quand on sait faire à la main, c'est d'autant plus
facile pour le faire en vba puisque l'enregistreur de macro fait le trvail.
Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
La première proposition que je t'ai faite focntionne, j'ai vérifié.
J'ai préféré traiter le "formattage" au niveau de
chacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Oui, bof, les deux se défendent.
Perso j'aurais plutôt traité le gros fichier et carrément à la main tant
que c'est possible, ça permet d'affiner si nécessaire, voire d'intervenir
sur le texte si nécessaire.
Par contre 600 pages (au moins) c'est un peu lourd, il faut une bonne
bécane et du temps.
--
A+
Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la macro ?
Note accessoire : avec macro automatique Word, je n'arrive pas à
sélectionner le texte avec la souris, alors...
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
A+
Merci
RayBonjour Raymond PoulainBonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Bien compris, mais quand on sait faire à la main, c'est d'autant plus
facile pour le faire en vba puisque l'enregistreur de macro fait le trvail.Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
La première proposition que je t'ai faite focntionne, j'ai vérifié.
J'ai préféré traiter le "formattage" au niveau dechacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Oui, bof, les deux se défendent.
Perso j'aurais plutôt traité le gros fichier et carrément à la main tant
que c'est possible, ça permet d'affiner si nécessaire, voire d'intervenir
sur le texte si nécessaire.
Par contre 600 pages (au moins) c'est un peu lourd, il faut une bonne
bécane et du temps.
--
A+
Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la
macro ?
Note accessoire : avec macro automatique Word, je n'arrive
pas à sélectionner le texte avec la souris, alors...
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la
macro ?
Note accessoire : avec macro automatique Word, je n'arrive
pas à sélectionner le texte avec la souris, alors...
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la
macro ?
Note accessoire : avec macro automatique Word, je n'arrive
pas à sélectionner le texte avec la souris, alors...
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
Bonsoir et bonne fin de semaine à tous,
Bon, je suis pas très sur, j'avoue avoir eu pas mal de mal à bricoler ça.
De plus j'espère vraiement que c'est ce dont tu a besoin.
Donc à condition que ça fonctionne aussi pour toi, je pense que d'aucun pourront critiquer ça positivement ;-).
--------------------------------
Sub TestRechercheTexteEtMiseEnTableauEpure()
With ActiveDocument.Content.Find
Selection.HomeKey Unit:=wdStory
Selection.Collapse Direction:=wdCollapseEnd
Selection.Find.ClearFormatting
Do While .Execute(FindText:="(Naissance:)(*)(Voyages)", MatchWildcards:=True, Wrap:=wdFindContinue) = True
Selection.Find.Text = "(Naissance:)(*)(Voyages)" ', MatchWildcards:=True, Wrap:=wdFindContinue) = True
Selection.Find.Replacement.Text = "^p1^t2^t3"
Selection.Find.Execute Replace:=wdReplaceOne
Selection.Move wdCharacter
Selection.Expand wdParagraph
Selection.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=3, _
NumRows:=1, AutoFitBehavior:=wdAutoFitFixed
With Selection.Tables(1)
.Style = "Grille du tableau"
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
Selection.Move wdCharacter
Loop
End With
End Sub
----------------------
Espérant t'avoir été utile.
Merci d'avoir lu jusque là.
"Raymond Poulain" a écrit dans le message de news:Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la macro ?
Note accessoire : avec macro automatique Word, je n'arrive pas à
sélectionner le texte avec la souris, alors...
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
A+
Merci
RayBonjour Raymond PoulainBonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Bien compris, mais quand on sait faire à la main, c'est d'autant plus
facile pour le faire en vba puisque l'enregistreur de macro fait le trvail.Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
La première proposition que je t'ai faite focntionne, j'ai vérifié.
J'ai préféré traiter le "formattage" au niveau dechacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Oui, bof, les deux se défendent.
Perso j'aurais plutôt traité le gros fichier et carrément à la main tant
que c'est possible, ça permet d'affiner si nécessaire, voire d'intervenir
sur le texte si nécessaire.
Par contre 600 pages (au moins) c'est un peu lourd, il faut une bonne
bécane et du temps.
--
A+
Bonsoir et bonne fin de semaine à tous,
Bon, je suis pas très sur, j'avoue avoir eu pas mal de mal à bricoler ça.
De plus j'espère vraiement que c'est ce dont tu a besoin.
Donc à condition que ça fonctionne aussi pour toi, je pense que d'aucun pourront critiquer ça positivement ;-).
--------------------------------
Sub TestRechercheTexteEtMiseEnTableauEpure()
With ActiveDocument.Content.Find
Selection.HomeKey Unit:=wdStory
Selection.Collapse Direction:=wdCollapseEnd
Selection.Find.ClearFormatting
Do While .Execute(FindText:="(Naissance:)(*)(Voyages)", MatchWildcards:=True, Wrap:=wdFindContinue) = True
Selection.Find.Text = "(Naissance:)(*)(Voyages)" ', MatchWildcards:=True, Wrap:=wdFindContinue) = True
Selection.Find.Replacement.Text = "^p1^t2^t3"
Selection.Find.Execute Replace:=wdReplaceOne
Selection.Move wdCharacter
Selection.Expand wdParagraph
Selection.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=3, _
NumRows:=1, AutoFitBehavior:=wdAutoFitFixed
With Selection.Tables(1)
.Style = "Grille du tableau"
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
Selection.Move wdCharacter
Loop
End With
End Sub
----------------------
Espérant t'avoir été utile.
Merci d'avoir lu jusque là.
"Raymond Poulain" <RaymondPoulain@discussions.microsoft.com> a écrit dans le message de news:
A64D5D37-5223-4617-9D5E-80587AF5ACA3@microsoft.com...
Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la macro ?
Note accessoire : avec macro automatique Word, je n'arrive pas à
sélectionner le texte avec la souris, alors...
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
A+
Merci
Ray
Bonjour Raymond Poulain
Bonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Bien compris, mais quand on sait faire à la main, c'est d'autant plus
facile pour le faire en vba puisque l'enregistreur de macro fait le trvail.
Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
La première proposition que je t'ai faite focntionne, j'ai vérifié.
J'ai préféré traiter le "formattage" au niveau de
chacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Oui, bof, les deux se défendent.
Perso j'aurais plutôt traité le gros fichier et carrément à la main tant
que c'est possible, ça permet d'affiner si nécessaire, voire d'intervenir
sur le texte si nécessaire.
Par contre 600 pages (au moins) c'est un peu lourd, il faut une bonne
bécane et du temps.
--
A+
Bonsoir et bonne fin de semaine à tous,
Bon, je suis pas très sur, j'avoue avoir eu pas mal de mal à bricoler ça.
De plus j'espère vraiement que c'est ce dont tu a besoin.
Donc à condition que ça fonctionne aussi pour toi, je pense que d'aucun pourront critiquer ça positivement ;-).
--------------------------------
Sub TestRechercheTexteEtMiseEnTableauEpure()
With ActiveDocument.Content.Find
Selection.HomeKey Unit:=wdStory
Selection.Collapse Direction:=wdCollapseEnd
Selection.Find.ClearFormatting
Do While .Execute(FindText:="(Naissance:)(*)(Voyages)", MatchWildcards:=True, Wrap:=wdFindContinue) = True
Selection.Find.Text = "(Naissance:)(*)(Voyages)" ', MatchWildcards:=True, Wrap:=wdFindContinue) = True
Selection.Find.Replacement.Text = "^p1^t2^t3"
Selection.Find.Execute Replace:=wdReplaceOne
Selection.Move wdCharacter
Selection.Expand wdParagraph
Selection.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=3, _
NumRows:=1, AutoFitBehavior:=wdAutoFitFixed
With Selection.Tables(1)
.Style = "Grille du tableau"
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
Selection.Move wdCharacter
Loop
End With
End Sub
----------------------
Espérant t'avoir été utile.
Merci d'avoir lu jusque là.
"Raymond Poulain" a écrit dans le message de news:Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la macro ?
Note accessoire : avec macro automatique Word, je n'arrive pas à
sélectionner le texte avec la souris, alors...
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
A+
Merci
RayBonjour Raymond PoulainBonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Bien compris, mais quand on sait faire à la main, c'est d'autant plus
facile pour le faire en vba puisque l'enregistreur de macro fait le trvail.Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
La première proposition que je t'ai faite focntionne, j'ai vérifié.
J'ai préféré traiter le "formattage" au niveau dechacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Oui, bof, les deux se défendent.
Perso j'aurais plutôt traité le gros fichier et carrément à la main tant
que c'est possible, ça permet d'affiner si nécessaire, voire d'intervenir
sur le texte si nécessaire.
Par contre 600 pages (au moins) c'est un peu lourd, il faut une bonne
bécane et du temps.
--
A+
Bonjour Raymond PoulainBonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la
macro ?
Tu peux utiliser http://www.cjoint.com pour la macro et un exemple de
texte, comme ça tous ceux qui veulent t'aider le pourront.Note accessoire : avec macro automatique Word, je n'arrive
pas à sélectionner le texte avec la souris, alors...
Exact et là on replonge dans l'aide pour utiliser le clavier, or cette aide
n'est pas évidente du tout.
Le plus simple à mon avis :
Positionner le point d'insertion en début du texte à sélectionner avec les
flèches)
appuyer sur F8 : on passe en mode extension, ça se voit dans les petites
cases en bas,
déplacer le point d'insertion avec les flèches.
Ceci dit, dans le cas indiqué je ne pense pas que cela te donne la
solution.Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
C'est une question de choix, il vaut mieux parfois retranscrire sur un
papier un mode opératoire manuel qui prend quelques heures que passer des
journées à écrire des macros. Mais c'est un choix personnel que je ne
critique(rais) pas, surtout quand on n'a pas toutes les données en main.
Mais il arrive souvent qu'on s'en-tête à faire marcher des trucs compliqués
alors qu'il y en a de plus simples, c'est un des intérêts de ces forums,
justement, que d'autres proposent des alternatives.
--
A+
Bonjour Raymond Poulain
Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la
macro ?
Tu peux utiliser http://www.cjoint.com pour la macro et un exemple de
texte, comme ça tous ceux qui veulent t'aider le pourront.
Note accessoire : avec macro automatique Word, je n'arrive
pas à sélectionner le texte avec la souris, alors...
Exact et là on replonge dans l'aide pour utiliser le clavier, or cette aide
n'est pas évidente du tout.
Le plus simple à mon avis :
Positionner le point d'insertion en début du texte à sélectionner avec les
flèches)
appuyer sur F8 : on passe en mode extension, ça se voit dans les petites
cases en bas,
déplacer le point d'insertion avec les flèches.
Ceci dit, dans le cas indiqué je ne pense pas que cela te donne la
solution.
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
C'est une question de choix, il vaut mieux parfois retranscrire sur un
papier un mode opératoire manuel qui prend quelques heures que passer des
journées à écrire des macros. Mais c'est un choix personnel que je ne
critique(rais) pas, surtout quand on n'a pas toutes les données en main.
Mais il arrive souvent qu'on s'en-tête à faire marcher des trucs compliqués
alors qu'il y en a de plus simples, c'est un des intérêts de ces forums,
justement, que d'autres proposent des alternatives.
--
A+
Bonjour Raymond PoulainBonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la
macro ?
Tu peux utiliser http://www.cjoint.com pour la macro et un exemple de
texte, comme ça tous ceux qui veulent t'aider le pourront.Note accessoire : avec macro automatique Word, je n'arrive
pas à sélectionner le texte avec la souris, alors...
Exact et là on replonge dans l'aide pour utiliser le clavier, or cette aide
n'est pas évidente du tout.
Le plus simple à mon avis :
Positionner le point d'insertion en début du texte à sélectionner avec les
flèches)
appuyer sur F8 : on passe en mode extension, ça se voit dans les petites
cases en bas,
déplacer le point d'insertion avec les flèches.
Ceci dit, dans le cas indiqué je ne pense pas que cela te donne la
solution.Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
C'est une question de choix, il vaut mieux parfois retranscrire sur un
papier un mode opératoire manuel qui prend quelques heures que passer des
journées à écrire des macros. Mais c'est un choix personnel que je ne
critique(rais) pas, surtout quand on n'a pas toutes les données en main.
Mais il arrive souvent qu'on s'en-tête à faire marcher des trucs compliqués
alors qu'il y en a de plus simples, c'est un des intérêts de ces forums,
justement, que d'autres proposent des alternatives.
--
A+
Bonsoir et merci beaucoup Géo,
Avec tes réponses et celle d'@pollo, j'y suis arrivé.
Voir le "bon" bout de macro dans la réponse à @pollo.
Bonsoir et merci beaucoup Géo,
Avec tes réponses et celle d'@pollo, j'y suis arrivé.
Voir le "bon" bout de macro dans la réponse à @pollo.
Bonsoir et merci beaucoup Géo,
Avec tes réponses et celle d'@pollo, j'y suis arrivé.
Voir le "bon" bout de macro dans la réponse à @pollo.
Merci beaucoup.
Même si ta réponse ne cadre pas complètement, ta réponse m'a beaucoup aidé.
Content que ça t'ai aidé et content de le savoir.
Bonsoir @pollo
Merci beaucoup.
Même si ta réponse ne cadre pas complètement, ta réponse m'a beaucoup aidé.
Pour la seconde balise, j'ai dû modifier mes fichiers avec $$ (avant
"voyages", que j'effacerai ensuite), mais maintenant c'est bon, merci
encore.
Pour le newsgroup, voici la macro:
With Selection.Find
.Text = "(NAISSANCE:)(*)($$)"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type <> wdPrintView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start). _
InsertBreak Type:=wdSectionBreakContinuous
Selection.Start = Selection.Start + 1
ActiveDocument.Range(Start:=Selection.End,
End:=Selection.End).InsertBreak _
Type:=wdSectionBreakContinuous
With Selection.PageSetup.TextColumns
.SetCount NumColumns:=2
.EvenlySpaced = True
.LineBetween = True
.Width = CentimetersToPoints(9.2)
.Spacing = CentimetersToPoints(0.6)
End With
Bon courage à tous
RayBonsoir et bonne fin de semaine à tous,
Bon, je suis pas très sur, j'avoue avoir eu pas mal de mal à bricoler ça.
De plus j'espère vraiement que c'est ce dont tu a besoin.
Donc à condition que ça fonctionne aussi pour toi, je pense que d'aucun pourront critiquer ça positivement ;-).
--------------------------------
Sub TestRechercheTexteEtMiseEnTableauEpure()
With ActiveDocument.Content.Find
Selection.HomeKey Unit:=wdStory
Selection.Collapse Direction:=wdCollapseEnd
Selection.Find.ClearFormatting
Do While .Execute(FindText:="(Naissance:)(*)(Voyages)", MatchWildcards:=True, Wrap:=wdFindContinue) = True
Selection.Find.Text = "(Naissance:)(*)(Voyages)" ', MatchWildcards:=True, Wrap:=wdFindContinue) = True
Selection.Find.Replacement.Text = "^p1^t2^t3"
Selection.Find.Execute Replace:=wdReplaceOne
Selection.Move wdCharacter
Selection.Expand wdParagraph
Selection.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=3, _
NumRows:=1, AutoFitBehavior:=wdAutoFitFixed
With Selection.Tables(1)
.Style = "Grille du tableau"
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
Selection.Move wdCharacter
Loop
End With
End Sub
----------------------
Espérant t'avoir été utile.
Merci d'avoir lu jusque là.
"Raymond Poulain" a écrit dans le message de news:Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la macro ?
Note accessoire : avec macro automatique Word, je n'arrive pas à
sélectionner le texte avec la souris, alors...
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
A+
Merci
RayBonjour Raymond PoulainBonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Bien compris, mais quand on sait faire à la main, c'est d'autant plus
facile pour le faire en vba puisque l'enregistreur de macro fait le trvail.Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
La première proposition que je t'ai faite focntionne, j'ai vérifié.
J'ai préféré traiter le "formattage" au niveau dechacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Oui, bof, les deux se défendent.
Perso j'aurais plutôt traité le gros fichier et carrément à la main tant
que c'est possible, ça permet d'affiner si nécessaire, voire d'intervenir
sur le texte si nécessaire.
Par contre 600 pages (au moins) c'est un peu lourd, il faut une bonne
bécane et du temps.
--
A+
Merci beaucoup.
Même si ta réponse ne cadre pas complètement, ta réponse m'a beaucoup aidé.
Content que ça t'ai aidé et content de le savoir.
Bonsoir @pollo
Merci beaucoup.
Même si ta réponse ne cadre pas complètement, ta réponse m'a beaucoup aidé.
Pour la seconde balise, j'ai dû modifier mes fichiers avec $$ (avant
"voyages", que j'effacerai ensuite), mais maintenant c'est bon, merci
encore.
Pour le newsgroup, voici la macro:
With Selection.Find
.Text = "(NAISSANCE:)(*)($$)"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type <> wdPrintView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start). _
InsertBreak Type:=wdSectionBreakContinuous
Selection.Start = Selection.Start + 1
ActiveDocument.Range(Start:=Selection.End,
End:=Selection.End).InsertBreak _
Type:=wdSectionBreakContinuous
With Selection.PageSetup.TextColumns
.SetCount NumColumns:=2
.EvenlySpaced = True
.LineBetween = True
.Width = CentimetersToPoints(9.2)
.Spacing = CentimetersToPoints(0.6)
End With
Bon courage à tous
Ray
Bonsoir et bonne fin de semaine à tous,
Bon, je suis pas très sur, j'avoue avoir eu pas mal de mal à bricoler ça.
De plus j'espère vraiement que c'est ce dont tu a besoin.
Donc à condition que ça fonctionne aussi pour toi, je pense que d'aucun pourront critiquer ça positivement ;-).
--------------------------------
Sub TestRechercheTexteEtMiseEnTableauEpure()
With ActiveDocument.Content.Find
Selection.HomeKey Unit:=wdStory
Selection.Collapse Direction:=wdCollapseEnd
Selection.Find.ClearFormatting
Do While .Execute(FindText:="(Naissance:)(*)(Voyages)", MatchWildcards:=True, Wrap:=wdFindContinue) = True
Selection.Find.Text = "(Naissance:)(*)(Voyages)" ', MatchWildcards:=True, Wrap:=wdFindContinue) = True
Selection.Find.Replacement.Text = "^p1^t2^t3"
Selection.Find.Execute Replace:=wdReplaceOne
Selection.Move wdCharacter
Selection.Expand wdParagraph
Selection.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=3, _
NumRows:=1, AutoFitBehavior:=wdAutoFitFixed
With Selection.Tables(1)
.Style = "Grille du tableau"
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
Selection.Move wdCharacter
Loop
End With
End Sub
----------------------
Espérant t'avoir été utile.
Merci d'avoir lu jusque là.
"Raymond Poulain" <RaymondPoulain@discussions.microsoft.com> a écrit dans le message de news:
A64D5D37-5223-4617-9D5E-80587AF5ACA3@microsoft.com...
Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la macro ?
Note accessoire : avec macro automatique Word, je n'arrive pas à
sélectionner le texte avec la souris, alors...
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
A+
Merci
Ray
Bonjour Raymond Poulain
Bonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Bien compris, mais quand on sait faire à la main, c'est d'autant plus
facile pour le faire en vba puisque l'enregistreur de macro fait le trvail.
Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
La première proposition que je t'ai faite focntionne, j'ai vérifié.
J'ai préféré traiter le "formattage" au niveau de
chacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Oui, bof, les deux se défendent.
Perso j'aurais plutôt traité le gros fichier et carrément à la main tant
que c'est possible, ça permet d'affiner si nécessaire, voire d'intervenir
sur le texte si nécessaire.
Par contre 600 pages (au moins) c'est un peu lourd, il faut une bonne
bécane et du temps.
--
A+
Merci beaucoup.
Même si ta réponse ne cadre pas complètement, ta réponse m'a beaucoup aidé.
Content que ça t'ai aidé et content de le savoir.
Bonsoir @pollo
Merci beaucoup.
Même si ta réponse ne cadre pas complètement, ta réponse m'a beaucoup aidé.
Pour la seconde balise, j'ai dû modifier mes fichiers avec $$ (avant
"voyages", que j'effacerai ensuite), mais maintenant c'est bon, merci
encore.
Pour le newsgroup, voici la macro:
With Selection.Find
.Text = "(NAISSANCE:)(*)($$)"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type <> wdPrintView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
ActiveDocument.Range(Start:=Selection.Start, End:=Selection.Start). _
InsertBreak Type:=wdSectionBreakContinuous
Selection.Start = Selection.Start + 1
ActiveDocument.Range(Start:=Selection.End,
End:=Selection.End).InsertBreak _
Type:=wdSectionBreakContinuous
With Selection.PageSetup.TextColumns
.SetCount NumColumns:=2
.EvenlySpaced = True
.LineBetween = True
.Width = CentimetersToPoints(9.2)
.Spacing = CentimetersToPoints(0.6)
End With
Bon courage à tous
RayBonsoir et bonne fin de semaine à tous,
Bon, je suis pas très sur, j'avoue avoir eu pas mal de mal à bricoler ça.
De plus j'espère vraiement que c'est ce dont tu a besoin.
Donc à condition que ça fonctionne aussi pour toi, je pense que d'aucun pourront critiquer ça positivement ;-).
--------------------------------
Sub TestRechercheTexteEtMiseEnTableauEpure()
With ActiveDocument.Content.Find
Selection.HomeKey Unit:=wdStory
Selection.Collapse Direction:=wdCollapseEnd
Selection.Find.ClearFormatting
Do While .Execute(FindText:="(Naissance:)(*)(Voyages)", MatchWildcards:=True, Wrap:=wdFindContinue) = True
Selection.Find.Text = "(Naissance:)(*)(Voyages)" ', MatchWildcards:=True, Wrap:=wdFindContinue) = True
Selection.Find.Replacement.Text = "^p1^t2^t3"
Selection.Find.Execute Replace:=wdReplaceOne
Selection.Move wdCharacter
Selection.Expand wdParagraph
Selection.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=3, _
NumRows:=1, AutoFitBehavior:=wdAutoFitFixed
With Selection.Tables(1)
.Style = "Grille du tableau"
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
Selection.Move wdCharacter
Loop
End With
End Sub
----------------------
Espérant t'avoir été utile.
Merci d'avoir lu jusque là.
"Raymond Poulain" a écrit dans le message de news:Bonjour Geo,
Cela ne marche pas chez moi (j'ai essayé tes 2 propositions).
Veux-tu que je t'envoie par e-mail sous format txt l'ensemble de la macro ?
Note accessoire : avec macro automatique Word, je n'arrive pas à
sélectionner le texte avec la souris, alors...
Traitement manuel: je te comprend, mais si tu veux faire une edition
periodique (annuelle), est-tu toujours prêt?
A+
Merci
RayBonjour Raymond PoulainBonjour Geo,
Oups, on dérive...
Il s'agit bien d'un bout de macro: car effectivement, je pouurai le
faire à la main.
Bien compris, mais quand on sait faire à la main, c'est d'autant plus
facile pour le faire en vba puisque l'enregistreur de macro fait le trvail.Le bout de macro ne marche pas, mais le bug doit pouvoir être
corrigé, non ?
La première proposition que je t'ai faite focntionne, j'ai vérifié.
J'ai préféré traiter le "formattage" au niveau dechacun des 600 fichiers Word. Alternativement, la macro met -à la
fin- les fichiers à la suite les uns des autres dans un nouveau
fichier Word (très gros) qui sera imprimé. C'est possible aussi de
faire le formattage au niveau du gros fichier Word, sauf qu'alors il
faudra x fois (600+) aller chercher le texte entre les 2 bornes (qui
n'est jamais le même) et le formatter.
Oui, bof, les deux se défendent.
Perso j'aurais plutôt traité le gros fichier et carrément à la main tant
que c'est possible, ça permet d'affiner si nécessaire, voire d'intervenir
sur le texte si nécessaire.
Par contre 600 pages (au moins) c'est un peu lourd, il faut une bonne
bécane et du temps.
--
A+