Je désire écrire une petite macro permettant d'insérer un saut de page
lorsque le système rencontre un texte précis se trouvant dans un fichier
.txt, mais uniquement lorsqu'il rencontre ce texte la deuxième fois et non
la première fois.
Le problème pour moi, c'est que je ne m'y connais pas suffisamment pour
l'écrire.
Je désire écrire une petite macro permettant d'insérer un saut de page
lorsque le système rencontre un texte précis se trouvant dans un fichier
.txt, mais uniquement lorsqu'il rencontre ce texte la deuxième fois et non
la première fois.
Le problème pour moi, c'est que je ne m'y connais pas suffisamment pour
l'écrire.
Je désire écrire une petite macro permettant d'insérer un saut de page
lorsque le système rencontre un texte précis se trouvant dans un fichier
.txt, mais uniquement lorsqu'il rencontre ce texte la deuxième fois et non
la première fois.
Le problème pour moi, c'est que je ne m'y connais pas suffisamment pour
l'écrire.
Bonjour Daniel,Je désire écrire une petite macro permettant d'insérer un saut de page
lorsque le système rencontre un texte précis se trouvant dans un fichier
.txt, mais uniquement lorsqu'il rencontre ce texte la deuxième fois et
non
la première fois.
Le problème pour moi, c'est que je ne m'y connais pas suffisamment pour
l'écrire.
Si tu autoenregistres la macro, cela donne à peu près ceci (le fichier
.txt
est ouvert dans Word bien sûr) :
Sub SautPage()
Selection.Find.ClearFormatting
With Selection.Find
.Text = "Ton_Texte"
.Replacement.Text = ""
End With
Selection.Find.Execute
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
End Sub
Qui doit pouvoir encore être simplifiée et améliorée...
--
Tisane
Bonjour Daniel,
Je désire écrire une petite macro permettant d'insérer un saut de page
lorsque le système rencontre un texte précis se trouvant dans un fichier
.txt, mais uniquement lorsqu'il rencontre ce texte la deuxième fois et
non
la première fois.
Le problème pour moi, c'est que je ne m'y connais pas suffisamment pour
l'écrire.
Si tu autoenregistres la macro, cela donne à peu près ceci (le fichier
.txt
est ouvert dans Word bien sûr) :
Sub SautPage()
Selection.Find.ClearFormatting
With Selection.Find
.Text = "Ton_Texte"
.Replacement.Text = ""
End With
Selection.Find.Execute
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
End Sub
Qui doit pouvoir encore être simplifiée et améliorée...
--
Tisane
Bonjour Daniel,Je désire écrire une petite macro permettant d'insérer un saut de page
lorsque le système rencontre un texte précis se trouvant dans un fichier
.txt, mais uniquement lorsqu'il rencontre ce texte la deuxième fois et
non
la première fois.
Le problème pour moi, c'est que je ne m'y connais pas suffisamment pour
l'écrire.
Si tu autoenregistres la macro, cela donne à peu près ceci (le fichier
.txt
est ouvert dans Word bien sûr) :
Sub SautPage()
Selection.Find.ClearFormatting
With Selection.Find
.Text = "Ton_Texte"
.Replacement.Text = ""
End With
Selection.Find.Execute
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
End Sub
Qui doit pouvoir encore être simplifiée et améliorée...
--
Tisane
J'ai tenté de modifier ma macro l'appliquer à l'intégralité des fichiers
présents dans un dossier, mais rien ne se passe.
[...]
MonDocument = Dir(MonRepertoire & "*.tok")
[...]
Public Sub RemplacementGlobal()
Dim MonDocument
Dim MonRepertoire
Dim NbDocuments As Integer
MonRepertoire = Options.DefaultFilePath(wdDocumentsPath) > "C:LMS2007Tok"
MonDocument = Dir(MonRepertoire & "*.tok")
i = 1
While MonDocument <> "" And i <= NbDocuments
i = i + 1
Documents.Open (MonRepertoire & "" & MonDocument)
ActiveWindow.View.ShowFieldCodes = True
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
'modifier police et élargir marges
Selection.WholeStory
Selection.Font.Name = "Courier New"
Selection.Font.Size = 6
Selection.PageSetup.TopMargin = CentimetersToPoints(1.95)
Selection.PageSetup.RightMargin = CentimetersToPoints(0.95)
Selection.PageSetup.LeftMargin = CentimetersToPoints(0.95)
'SautPage
Selection.Find.ClearFormatting
With Selection.Find
.Text = "KUW"
.Replacement.Text = ""
End With
Selection.Find.Execute
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
Selection.Fields.Update
Documents(1).Close wdSaveChanges
MonDocument = Dir
Wend
End Sub
Y a-t-il une bonne âme qui pourrait démêler ce problème qui n'est pas à ma
portée :-)
Merci d'avance.
"Tisane" a écrit dans le message de
news:Bonjour Daniel,Je désire écrire une petite macro permettant d'insérer un saut de page
lorsque le système rencontre un texte précis se trouvant dans un
fichier
.txt, mais uniquement lorsqu'il rencontre ce texte la deuxième fois et
nonla première fois.
Le problème pour moi, c'est que je ne m'y connais pas suffisamment pour
l'écrire.
Si tu autoenregistres la macro, cela donne à peu près ceci (le fichier
.txtest ouvert dans Word bien sûr) :
Sub SautPage()
Selection.Find.ClearFormatting
With Selection.Find
.Text = "Ton_Texte"
.Replacement.Text = ""
End With
Selection.Find.Execute
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
End Sub
Qui doit pouvoir encore être simplifiée et améliorée...
--
Tisane
J'ai tenté de modifier ma macro l'appliquer à l'intégralité des fichiers
présents dans un dossier, mais rien ne se passe.
[...]
MonDocument = Dir(MonRepertoire & "*.tok")
[...]
Public Sub RemplacementGlobal()
Dim MonDocument
Dim MonRepertoire
Dim NbDocuments As Integer
MonRepertoire = Options.DefaultFilePath(wdDocumentsPath) > "C:LMS2007Tok"
MonDocument = Dir(MonRepertoire & "*.tok")
i = 1
While MonDocument <> "" And i <= NbDocuments
i = i + 1
Documents.Open (MonRepertoire & "" & MonDocument)
ActiveWindow.View.ShowFieldCodes = True
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
'modifier police et élargir marges
Selection.WholeStory
Selection.Font.Name = "Courier New"
Selection.Font.Size = 6
Selection.PageSetup.TopMargin = CentimetersToPoints(1.95)
Selection.PageSetup.RightMargin = CentimetersToPoints(0.95)
Selection.PageSetup.LeftMargin = CentimetersToPoints(0.95)
'SautPage
Selection.Find.ClearFormatting
With Selection.Find
.Text = "KUW"
.Replacement.Text = ""
End With
Selection.Find.Execute
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
Selection.Fields.Update
Documents(1).Close wdSaveChanges
MonDocument = Dir
Wend
End Sub
Y a-t-il une bonne âme qui pourrait démêler ce problème qui n'est pas à ma
portée :-)
Merci d'avance.
"Tisane" <b.tisane@laposte.net> a écrit dans le message de
news:OLghqga2HHA.2752@TK2MSFTNGP06.phx.gbl...
Bonjour Daniel,
Je désire écrire une petite macro permettant d'insérer un saut de page
lorsque le système rencontre un texte précis se trouvant dans un
fichier
.txt, mais uniquement lorsqu'il rencontre ce texte la deuxième fois et
non
la première fois.
Le problème pour moi, c'est que je ne m'y connais pas suffisamment pour
l'écrire.
Si tu autoenregistres la macro, cela donne à peu près ceci (le fichier
.txt
est ouvert dans Word bien sûr) :
Sub SautPage()
Selection.Find.ClearFormatting
With Selection.Find
.Text = "Ton_Texte"
.Replacement.Text = ""
End With
Selection.Find.Execute
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
End Sub
Qui doit pouvoir encore être simplifiée et améliorée...
--
Tisane
J'ai tenté de modifier ma macro l'appliquer à l'intégralité des fichiers
présents dans un dossier, mais rien ne se passe.
[...]
MonDocument = Dir(MonRepertoire & "*.tok")
[...]
Public Sub RemplacementGlobal()
Dim MonDocument
Dim MonRepertoire
Dim NbDocuments As Integer
MonRepertoire = Options.DefaultFilePath(wdDocumentsPath) > "C:LMS2007Tok"
MonDocument = Dir(MonRepertoire & "*.tok")
i = 1
While MonDocument <> "" And i <= NbDocuments
i = i + 1
Documents.Open (MonRepertoire & "" & MonDocument)
ActiveWindow.View.ShowFieldCodes = True
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
'modifier police et élargir marges
Selection.WholeStory
Selection.Font.Name = "Courier New"
Selection.Font.Size = 6
Selection.PageSetup.TopMargin = CentimetersToPoints(1.95)
Selection.PageSetup.RightMargin = CentimetersToPoints(0.95)
Selection.PageSetup.LeftMargin = CentimetersToPoints(0.95)
'SautPage
Selection.Find.ClearFormatting
With Selection.Find
.Text = "KUW"
.Replacement.Text = ""
End With
Selection.Find.Execute
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
Selection.Fields.Update
Documents(1).Close wdSaveChanges
MonDocument = Dir
Wend
End Sub
Y a-t-il une bonne âme qui pourrait démêler ce problème qui n'est pas à ma
portée :-)
Merci d'avance.
"Tisane" a écrit dans le message de
news:Bonjour Daniel,Je désire écrire une petite macro permettant d'insérer un saut de page
lorsque le système rencontre un texte précis se trouvant dans un
fichier
.txt, mais uniquement lorsqu'il rencontre ce texte la deuxième fois et
nonla première fois.
Le problème pour moi, c'est que je ne m'y connais pas suffisamment pour
l'écrire.
Si tu autoenregistres la macro, cela donne à peu près ceci (le fichier
.txtest ouvert dans Word bien sûr) :
Sub SautPage()
Selection.Find.ClearFormatting
With Selection.Find
.Text = "Ton_Texte"
.Replacement.Text = ""
End With
Selection.Find.Execute
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
End Sub
Qui doit pouvoir encore être simplifiée et améliorée...
--
Tisane
J'ai tenté de modifier ma macro l'appliquer à l'intégralité des fichiers
présents dans un dossier, mais rien ne se passe.
Voici ce que j'ai :
Public Sub RemplacementGlobal()
Dim MonDocument
Dim MonRepertoire
Dim NbDocuments As Integer
MonRepertoire = Options.DefaultFilePath(wdDocumentsPath) > "C:LMS2007Tok"
MonDocument = Dir(MonRepertoire & "*.tok")
i = 1
While MonDocument <> "" And i <= NbDocuments
i = i + 1
Documents.Open (MonRepertoire & "" & MonDocument)
ActiveWindow.View.ShowFieldCodes = True
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
'modifier police et élargir marges
Selection.WholeStory
Selection.Font.Name = "Courier New"
Selection.Font.Size = 6
Selection.PageSetup.TopMargin = CentimetersToPoints(1.95)
Selection.PageSetup.RightMargin = CentimetersToPoints(0.95)
Selection.PageSetup.LeftMargin = CentimetersToPoints(0.95)
'SautPage
Selection.Find.ClearFormatting
With Selection.Find
.Text = "KUW"
.Replacement.Text = ""
End With
Selection.Find.Execute
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
Selection.Fields.Update
Documents(1).Close wdSaveChanges
MonDocument = Dir
Wend
End Sub
Y a-t-il une bonne âme qui pourrait démêler ce problème qui n'est pas à ma
portée :-)
Merci d'avance.
"Tisane" a écrit dans le message de
news:Bonjour Daniel,Je désire écrire une petite macro permettant d'insérer un saut de page
lorsque le système rencontre un texte précis se trouvant dans un fichier
.txt, mais uniquement lorsqu'il rencontre ce texte la deuxième fois et non
la première fois.
Le problème pour moi, c'est que je ne m'y connais pas suffisamment pour
l'écrire.
J'ai tenté de modifier ma macro l'appliquer à l'intégralité des fichiers
présents dans un dossier, mais rien ne se passe.
Voici ce que j'ai :
Public Sub RemplacementGlobal()
Dim MonDocument
Dim MonRepertoire
Dim NbDocuments As Integer
MonRepertoire = Options.DefaultFilePath(wdDocumentsPath) > "C:LMS2007Tok"
MonDocument = Dir(MonRepertoire & "*.tok")
i = 1
While MonDocument <> "" And i <= NbDocuments
i = i + 1
Documents.Open (MonRepertoire & "" & MonDocument)
ActiveWindow.View.ShowFieldCodes = True
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
'modifier police et élargir marges
Selection.WholeStory
Selection.Font.Name = "Courier New"
Selection.Font.Size = 6
Selection.PageSetup.TopMargin = CentimetersToPoints(1.95)
Selection.PageSetup.RightMargin = CentimetersToPoints(0.95)
Selection.PageSetup.LeftMargin = CentimetersToPoints(0.95)
'SautPage
Selection.Find.ClearFormatting
With Selection.Find
.Text = "KUW"
.Replacement.Text = ""
End With
Selection.Find.Execute
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
Selection.Fields.Update
Documents(1).Close wdSaveChanges
MonDocument = Dir
Wend
End Sub
Y a-t-il une bonne âme qui pourrait démêler ce problème qui n'est pas à ma
portée :-)
Merci d'avance.
"Tisane" <b.tisane@laposte.net> a écrit dans le message de
news:OLghqga2HHA.2752@TK2MSFTNGP06.phx.gbl...
Bonjour Daniel,
Je désire écrire une petite macro permettant d'insérer un saut de page
lorsque le système rencontre un texte précis se trouvant dans un fichier
.txt, mais uniquement lorsqu'il rencontre ce texte la deuxième fois et non
la première fois.
Le problème pour moi, c'est que je ne m'y connais pas suffisamment pour
l'écrire.
J'ai tenté de modifier ma macro l'appliquer à l'intégralité des fichiers
présents dans un dossier, mais rien ne se passe.
Voici ce que j'ai :
Public Sub RemplacementGlobal()
Dim MonDocument
Dim MonRepertoire
Dim NbDocuments As Integer
MonRepertoire = Options.DefaultFilePath(wdDocumentsPath) > "C:LMS2007Tok"
MonDocument = Dir(MonRepertoire & "*.tok")
i = 1
While MonDocument <> "" And i <= NbDocuments
i = i + 1
Documents.Open (MonRepertoire & "" & MonDocument)
ActiveWindow.View.ShowFieldCodes = True
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
'modifier police et élargir marges
Selection.WholeStory
Selection.Font.Name = "Courier New"
Selection.Font.Size = 6
Selection.PageSetup.TopMargin = CentimetersToPoints(1.95)
Selection.PageSetup.RightMargin = CentimetersToPoints(0.95)
Selection.PageSetup.LeftMargin = CentimetersToPoints(0.95)
'SautPage
Selection.Find.ClearFormatting
With Selection.Find
.Text = "KUW"
.Replacement.Text = ""
End With
Selection.Find.Execute
Selection.Find.Execute
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.InsertBreak Type:=wdPageBreak
Selection.Fields.Update
Documents(1).Close wdSaveChanges
MonDocument = Dir
Wend
End Sub
Y a-t-il une bonne âme qui pourrait démêler ce problème qui n'est pas à ma
portée :-)
Merci d'avance.
"Tisane" a écrit dans le message de
news:Bonjour Daniel,Je désire écrire une petite macro permettant d'insérer un saut de page
lorsque le système rencontre un texte précis se trouvant dans un fichier
.txt, mais uniquement lorsqu'il rencontre ce texte la deuxième fois et non
la première fois.
Le problème pour moi, c'est que je ne m'y connais pas suffisamment pour
l'écrire.
Y a-t-il une bonne âme qui pourrait démêler ce problème qui n'est pas à ma
portée :-)
Y a-t-il une bonne âme qui pourrait démêler ce problème qui n'est pas à ma
portée :-)
Y a-t-il une bonne âme qui pourrait démêler ce problème qui n'est pas à ma
portée :-)
Bonjour !
'Daniel' nous a écrit ...Y a-t-il une bonne âme qui pourrait démêler ce problème qui n'est pas à
ma
portée :-)
Je pense au contraire que c'est à votre portée car votre code
n'est pas si mauvais et n'est pas celui d'un grand débutant.
Essayez de le corriger en vous aidant des réponses précédentes.
C'est toujours plus profitable et gratifiant de réussir
avec son propre code... ;-)
Quelques remarques
- Complétez le type de vos données déclarées
Dim MonRepertoire As String
- Votre plus grosse erreur est
MonRepertoire = Options.DefaultFilePath(wdDocumentsPath) > "C:LMS2007Tok"
les deux signe = n'ont pas le même sens
le premier est une affectation
MonRepertoire = "C:LMS2007Tok"
le deuxième est un test d'égalité
le tout donne que MonRepertoire est un booléen Faux ou Vrai
- Votre boucle avec DIR est correcte et peut même vous éviter
d'utiliser la batchmacro proposée par Circé si cette méthode
vous convient (= vos fichiers tok sont toujours dans "C:LMS2007Tok")
- Vous avez parlé d'un document TXT (avec une extension maison .tok)
attention : il n'y a pas de saut de page dans un TXT !
donc vous devez enregistrer le résultat dans un .DOC
- L'ouverture de votre .tok peut demander une conversion txt
Bon courage
Anacoluthe
« Le principal est de débuter. »
- Georges Charles HUYSMANS
Bonjour !
'Daniel' nous a écrit ...
Y a-t-il une bonne âme qui pourrait démêler ce problème qui n'est pas à
ma
portée :-)
Je pense au contraire que c'est à votre portée car votre code
n'est pas si mauvais et n'est pas celui d'un grand débutant.
Essayez de le corriger en vous aidant des réponses précédentes.
C'est toujours plus profitable et gratifiant de réussir
avec son propre code... ;-)
Quelques remarques
- Complétez le type de vos données déclarées
Dim MonRepertoire As String
- Votre plus grosse erreur est
MonRepertoire = Options.DefaultFilePath(wdDocumentsPath) > "C:LMS2007Tok"
les deux signe = n'ont pas le même sens
le premier est une affectation
MonRepertoire = "C:LMS2007Tok"
le deuxième est un test d'égalité
le tout donne que MonRepertoire est un booléen Faux ou Vrai
- Votre boucle avec DIR est correcte et peut même vous éviter
d'utiliser la batchmacro proposée par Circé si cette méthode
vous convient (= vos fichiers tok sont toujours dans "C:LMS2007Tok")
- Vous avez parlé d'un document TXT (avec une extension maison .tok)
attention : il n'y a pas de saut de page dans un TXT !
donc vous devez enregistrer le résultat dans un .DOC
- L'ouverture de votre .tok peut demander une conversion txt
Bon courage
Anacoluthe
« Le principal est de débuter. »
- Georges Charles HUYSMANS
Bonjour !
'Daniel' nous a écrit ...Y a-t-il une bonne âme qui pourrait démêler ce problème qui n'est pas à
ma
portée :-)
Je pense au contraire que c'est à votre portée car votre code
n'est pas si mauvais et n'est pas celui d'un grand débutant.
Essayez de le corriger en vous aidant des réponses précédentes.
C'est toujours plus profitable et gratifiant de réussir
avec son propre code... ;-)
Quelques remarques
- Complétez le type de vos données déclarées
Dim MonRepertoire As String
- Votre plus grosse erreur est
MonRepertoire = Options.DefaultFilePath(wdDocumentsPath) > "C:LMS2007Tok"
les deux signe = n'ont pas le même sens
le premier est une affectation
MonRepertoire = "C:LMS2007Tok"
le deuxième est un test d'égalité
le tout donne que MonRepertoire est un booléen Faux ou Vrai
- Votre boucle avec DIR est correcte et peut même vous éviter
d'utiliser la batchmacro proposée par Circé si cette méthode
vous convient (= vos fichiers tok sont toujours dans "C:LMS2007Tok")
- Vous avez parlé d'un document TXT (avec une extension maison .tok)
attention : il n'y a pas de saut de page dans un TXT !
donc vous devez enregistrer le résultat dans un .DOC
- L'ouverture de votre .tok peut demander une conversion txt
Bon courage
Anacoluthe
« Le principal est de débuter. »
- Georges Charles HUYSMANS
Lorsque le système rentre dans le boucle While, il en ressort directement et
passe à la fin de la macro.
Je pense qu'il ne trouve pas les fichiers, pourtant il ne cale pas sur les
lignes indiquant l'emplacement des fichiers.
Lorsque le système rentre dans le boucle While, il en ressort directement et
passe à la fin de la macro.
Je pense qu'il ne trouve pas les fichiers, pourtant il ne cale pas sur les
lignes indiquant l'emplacement des fichiers.
Lorsque le système rentre dans le boucle While, il en ressort directement et
passe à la fin de la macro.
Je pense qu'il ne trouve pas les fichiers, pourtant il ne cale pas sur les
lignes indiquant l'emplacement des fichiers.