![Idée :idea:](./images/smilies/icon_idea.gif)
[Tuto] traitement de texte > BBCode GAGNEZ DU TPS SUR VOS BL
- AMATERASU
- Messages : 14
- Enregistré le : jeu. mars 13, 2014 3:52 pm
- Rang special : Kami des Sushis
- Localisation : Pays des Sushis
Re: [Tutoriel] Transformer du traitement de texte en BBCode
Pour word, il y a moyen d'installer le bbcode avec une macro. il suffit d'utiliser toujours la meme signaletique dans le texte et de la remplacer par le code idoine. ![Idée :idea:](./images/smilies/icon_idea.gif)
![Idée :idea:](./images/smilies/icon_idea.gif)
- laskane
- Messages : 57
- Enregistré le : mer. févr. 26, 2014 1:55 pm
- Rang special : Gentille humaine ?
- Localisation : Aux alentours de Toulouse
Re: [Tutoriel] Transformer du traitement de texte en BBCode
C'est génial !!!
beaucoup Bergamote, ça va tellement simplifier les choses ![Clin d’oeil ;)](./images/smilies/icon_e_wink.gif)
![merci grenouille :merci2:](./images/smilies/0001122.gif)
![Clin d’oeil ;)](./images/smilies/icon_e_wink.gif)
- AMATERASU
- Messages : 14
- Enregistré le : jeu. mars 13, 2014 3:52 pm
- Rang special : Kami des Sushis
- Localisation : Pays des Sushis
Re: [Tutoriel] Transformer du traitement de texte en BBCode
Vu que effectivement c'est plus confortable (et sécurisé) de copier-coller le contenu d'un post dans Word, je partage avec vous 2 macros que j'ai fait, des fois que ça serve à d'autres personnes.
Tout d'abord, dans word, le texte se trouve avec des "shift-entrées" qui vont étirer les lignes jusqu'au bout de la page lors de la justification, donc la première macro remplace se saut de ligne par des fin de § normaux et justifie directement le texte :
La deuxième installe le BBcode (celui que j'utilise). Il vous suffit de modifier le texte en rouge dans les .Text = "(" et .Replacement.Text = "[ color=#0000BF][ b](" pour adapter à votre façon de travailler, et de rajouter autant de boucle With/End With que vous voulez.
Tout d'abord, dans word, le texte se trouve avec des "shift-entrées" qui vont étirer les lignes jusqu'au bout de la page lors de la justification, donc la première macro remplace se saut de ligne par des fin de § normaux et justifie directement le texte :
Code : Tout sélectionner
Sub Justification()
ActiveDocument.Range.Select
With Selection.Find
.Text = "^l"
.Replacement.Text = "^p"
.Forward = True
.Wrap = wdFindContinue
.MatchFuzzy = False
.Execute Replace:=wdReplaceAll
End With
Selection.ParagraphFormat.Alignment = wdAlignParagraphJustify
End Sub
Code : Tout sélectionner
Sub BBcode()
ActiveDocument.Range.Select
With Selection.Find
.Text = "("
.Replacement.Text = "[color=#0000BF][b]("
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = False
.Execute Replace:=wdReplaceAll
End With
With Selection.Find
.Text = ")"
.Replacement.Text = ")[/b][/color]"
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = False
.Execute Replace:=wdReplaceAll
End With
End Sub
- oliviersaraja
- Messages : 58
- Enregistré le : dim. mars 23, 2014 11:41 am
- Rang special : Humain
- Localisation : Environs proches de Toulouse
- Contact :
Re: [Tutoriel] Transformer du traitement de texte en BBCode
Malheureusement, chez moi j'ai une erreur qui empêche l'export au format BB Code.Xavier a écrit :Je viens de l'installer et en effet, c'est plutôt la fête, merci beaucoup pour l'info
Sinon, je relaie le post de Flume, pour les versions récentes de LibreOffice, l'url est celle-ci.
Dans le module 1:
Code : Tout sélectionner
Erreur d'exécution BASIC.
Une exception s'est produite :
Type: com.sun.star.uno.RuntimeException
Message: End of content node doesn't have the proper start node
Une idée?
Twitter: @oliviersaraja
Facebook: https://www.facebook.com/olivier.saraja
- -
Découvrez tous mes travaux (Walrus, auto-édition) sur Mon site d'auteur
Facebook: https://www.facebook.com/olivier.saraja
- -
Découvrez tous mes travaux (Walrus, auto-édition) sur Mon site d'auteur
- raccoon
- Messages : 28
- Enregistré le : jeu. avr. 24, 2014 7:08 pm
- Rang special : laveur
- Localisation : Sous le soleil
Re: [Tutoriel] Transformer du traitement de texte en BBCode
Bonjour à tous les amateurs de Word.
Pour ceux que ça intéresse, je viens de finir de coder une macro pour word 2010 (normalement, ça sera valable pour les versions post 2010, en revanche je garantit rien pour celles d'avant) qui permet de faire ses corrections sous word puis de générer automatiquement le BBCode.
J'en avais marre de faire des rechercher/remplacer... alors j'ai commencé par faire une macro qui fait ça, puis je me suis laissé emporté et j'ai ajouté des petits machins.
Je suis ouvert à d'autres suggestions dans la limite de mes compétences et de mon temps libre aussi. Cependant, je n'ai que la version 2010, alors je ne peux malheureusement assurer l’« hotline" pour les autres versions.
Initialement publié sur ma page de présentation, je reporte ci-dessous les instructions. La macro fonctionne très bien sur mon word, mais je n'ai pour l'instant pas de retour sur d'éventuels problèmes chez d'autres.
En espérant que ça vous aide...
Pour ceux que ça intéresse, je viens de finir de coder une macro pour word 2010 (normalement, ça sera valable pour les versions post 2010, en revanche je garantit rien pour celles d'avant) qui permet de faire ses corrections sous word puis de générer automatiquement le BBCode.
J'en avais marre de faire des rechercher/remplacer... alors j'ai commencé par faire une macro qui fait ça, puis je me suis laissé emporté et j'ai ajouté des petits machins.
Je suis ouvert à d'autres suggestions dans la limite de mes compétences et de mon temps libre aussi. Cependant, je n'ai que la version 2010, alors je ne peux malheureusement assurer l’« hotline" pour les autres versions.
Initialement publié sur ma page de présentation, je reporte ci-dessous les instructions. La macro fonctionne très bien sur mon word, mais je n'ai pour l'instant pas de retour sur d'éventuels problèmes chez d'autres.
En espérant que ça vous aide...
- raccoon
- Messages : 28
- Enregistré le : jeu. avr. 24, 2014 7:08 pm
- Rang special : laveur
- Localisation : Sous le soleil
Re: [Tutoriel] Transformer du traitement de texte en BBCode
On peut utiliser le gras, italique, souligné, barré.
La gestion des couleurs sous WD2010 est devenue complexe, pour simplifier le script, j'ai limité à 4 couleurs (s'il y a quelqu'un qui maîtrise ça, je veux bien de l'aide pour améliorer la macro...
)
http://nsa34.casimages.com/img/2014/05/ ... 405292.jpg
A noter que sur d'autres versions de Word, ces couleurs sont peut-être différentes. Dans ce cas, il faudra en choisir quatre autres, déterminer les composantes R V B et modifier la macro en conséquence.
TEXTE (inventé pour l'exemple) ORIGINAL :
Le couloir était sombre et Jack avançait lentement en boitant car il avait mal aux pieds en raison de ses chaussures neuves. N’y tenant plus, il s’agenouilla pour enlever sa chaussure gauche. À ce moment-là, % une odeur désagréable vint lui fouiller les narines. Il releva la tête en haut et vit un homme au fond du corridor. Le doute l’assaillit. Soudain, avec une dextérité inouïe, il saisit ses jumelles et observa les dents de l’inconnu.
— Damned ! Un vempire !
Pris de panique, il se releva et commença à danser une polka afin de distraire son opposant. Puis, d’un geste vif, il lança sa chaussure dans la gueule du vampire.
À l’aube, alors que la mer se teintait de feu, le conte Von Basiel fixait l’horizon tandis qu’une brise venant du large, séchait les larmes. Jamais un vampire n’avait été ainsi humilié et il hésitait à embrasser le levant afin de s’embraser et faire taire à jamais l’histoire de cette dent cassée par un vulgaire soulier comme indiqué plus haut.
****************************************
Faire un copier/coller sous Word (là vous pouvez faire un crtl A puis changer la police et sa taille, ça n'aura pas d'impact sur le script), puis vous faites les corrections que vous souhaitez en respectant les codes cités en dessous.
VERSION SIMULEE DE CE QU'IL FAUT FAIRE SOUS WORD:
Le couloir était sombre et Jack avançait lentement en boitant <: ,> car il avait mal aux pieds en raison de ses chaussures neuves. N’y tenant plus, il s’agenouilla pour enlever sa chaussure gauche. À ce moment-là, # une odeur désagréable vint lui fouiller # les narines. Il releva la têteen haut et vit un homme au fond du corridor. Le doute l’assaillit. Soudain, avec une dextérité inouïe, il saisit ses jumelles et observa les dents de l’inconnu peu crédible, on imagine mal cette scène .
— Damned ! Un vampire !
Pris de panique, il se releva et commença à danser une polka peut-il réellement danser alors qu’il a mal aux pieds ? afin de distraire son opposant #. Puis, d’un geste vif, il lança sa chaussure dans la gueule du @ vampire.
L’histoire est un peu bancale ! Il faudrait revoir l’ensemble…
À l’aube, alors que la mer se teintait de feu, le conte Von Basiel fixait l’horizon tandis qu’une brise venant du large, séchait les larmes. ** Jamais un vampire n’avait été ainsi humilié et il hésitait à embrasser le <: soleil> levant afin de s’embraser etfaire taire à jamais l’histoire de cette dent cassée par un vulgaire soulier comme indiqué plus haut. %
*********************************************
on lance la macro, et elle remplace toute seule les symboles et les couleurs en ajoutant des () ou {} à vos commentaires. Il ajoutera aussi un en-tête avec les codes utilisés, et une ébauche de commentaire en bas de texte. Il ajoute aussi le spoiler.
Comme je suis pragmatique (et fainéant), je me suis fait des astuces (mais vous n’êtes pas obligés de les utiliser)
Liste des caractères spéciaux:
+ se transforme en [Passage un peu lourd: à reformuler]
$ se transforme en (Attention au sens de ce mot: peut-être pas le plus approprié pour ce passage/contexte)
% se transforme en [Tic de langage/Formulation à prohiber dans une narration: enlever ou reformuler]
* se transforme en ~ J'aime ce passage
~
** se transforme en ~ J'adore ce passage
~
@ se transforme en [Peu élégant: à modifier]
<> se transforme en <Il manque une chose ici > (note: vous pouvez préciser quoi (virgule, verbe, etc.) comme le montre l'exemple suivant )
<: virgule> se transforme en <Il manque une chose ici : virgule>
\ se transforme en [Attention aux temps: Vérifier la chronologie des actions par rapport au temps principal de narration]
§ se transforme en [Répétition d'idées / redondance d'informations]
NORMALEMENT ça devrait pas, mais attention à ne pas laisser ces caractères s'ils sont déjà dans le texte. Là sur un cas de BL, l'auteur avait placé des **** entre ses paragraphes... ça faisait des "j'adore" partout ^ ^
Quand la macro est terminée, copiez/collez le résultat sur le forum
*********************************************
LA VERSION TRANSFORMEE PAR LA MACRO ET COLLEE CI-DESSOUS :
Mes codes :
la partie de texte qui fait référence au commentaire
( mon avis, mes remarques ou questions sur la partie en gras )
les fautes
passage/mot (pas indispensable)
les répétitions
{ les commentaires généraux }
[ Avis sur la forme ]
~ Passage que j'aime
~
AVIS GENERAL
Sur la forme :
Sur le fond :
La gestion des couleurs sous WD2010 est devenue complexe, pour simplifier le script, j'ai limité à 4 couleurs (s'il y a quelqu'un qui maîtrise ça, je veux bien de l'aide pour améliorer la macro...
![^^ ^^](./images/smilies/PDT_01.gif)
http://nsa34.casimages.com/img/2014/05/ ... 405292.jpg
A noter que sur d'autres versions de Word, ces couleurs sont peut-être différentes. Dans ce cas, il faudra en choisir quatre autres, déterminer les composantes R V B et modifier la macro en conséquence.
TEXTE (inventé pour l'exemple) ORIGINAL :
Le couloir était sombre et Jack avançait lentement en boitant car il avait mal aux pieds en raison de ses chaussures neuves. N’y tenant plus, il s’agenouilla pour enlever sa chaussure gauche. À ce moment-là, % une odeur désagréable vint lui fouiller les narines. Il releva la tête en haut et vit un homme au fond du corridor. Le doute l’assaillit. Soudain, avec une dextérité inouïe, il saisit ses jumelles et observa les dents de l’inconnu.
— Damned ! Un vempire !
Pris de panique, il se releva et commença à danser une polka afin de distraire son opposant. Puis, d’un geste vif, il lança sa chaussure dans la gueule du vampire.
À l’aube, alors que la mer se teintait de feu, le conte Von Basiel fixait l’horizon tandis qu’une brise venant du large, séchait les larmes. Jamais un vampire n’avait été ainsi humilié et il hésitait à embrasser le levant afin de s’embraser et faire taire à jamais l’histoire de cette dent cassée par un vulgaire soulier comme indiqué plus haut.
****************************************
Faire un copier/coller sous Word (là vous pouvez faire un crtl A puis changer la police et sa taille, ça n'aura pas d'impact sur le script), puis vous faites les corrections que vous souhaitez en respectant les codes cités en dessous.
VERSION SIMULEE DE CE QU'IL FAUT FAIRE SOUS WORD:
Le couloir était sombre et Jack avançait lentement en boitant <: ,> car il avait mal aux pieds en raison de ses chaussures neuves. N’y tenant plus, il s’agenouilla pour enlever sa chaussure gauche. À ce moment-là, # une odeur désagréable vint lui fouiller # les narines. Il releva la tête
— Damned ! Un vampire !
Pris de panique, il se releva et commença à danser une polka peut-il réellement danser alors qu’il a mal aux pieds ? afin de distraire son opposant #. Puis, d’un geste vif, il lança sa chaussure dans la gueule du @ vampire.
L’histoire est un peu bancale ! Il faudrait revoir l’ensemble…
À l’aube, alors que la mer se teintait de feu, le conte Von Basiel fixait l’horizon tandis qu’une brise venant du large, séchait les larmes. ** Jamais un vampire n’avait été ainsi humilié et il hésitait à embrasser le <: soleil> levant afin de s’embraser et
*********************************************
on lance la macro, et elle remplace toute seule les symboles et les couleurs en ajoutant des () ou {} à vos commentaires. Il ajoutera aussi un en-tête avec les codes utilisés, et une ébauche de commentaire en bas de texte. Il ajoute aussi le spoiler.
Comme je suis pragmatique (et fainéant), je me suis fait des astuces (mais vous n’êtes pas obligés de les utiliser)
Liste des caractères spéciaux:
+ se transforme en [Passage un peu lourd: à reformuler]
$ se transforme en (Attention au sens de ce mot: peut-être pas le plus approprié pour ce passage/contexte)
% se transforme en [Tic de langage/Formulation à prohiber dans une narration: enlever ou reformuler]
* se transforme en ~ J'aime ce passage
![:heart: :heart:](./images/smilies/heart.gif)
** se transforme en ~ J'adore ce passage
![:heart: :heart:](./images/smilies/heart.gif)
![:heart: :heart:](./images/smilies/heart.gif)
@ se transforme en [Peu élégant: à modifier]
<> se transforme en <Il manque une chose ici > (note: vous pouvez préciser quoi (virgule, verbe, etc.) comme le montre l'exemple suivant )
<: virgule> se transforme en <Il manque une chose ici : virgule>
\ se transforme en [Attention aux temps: Vérifier la chronologie des actions par rapport au temps principal de narration]
§ se transforme en [Répétition d'idées / redondance d'informations]
NORMALEMENT ça devrait pas, mais attention à ne pas laisser ces caractères s'ils sont déjà dans le texte. Là sur un cas de BL, l'auteur avait placé des **** entre ses paragraphes... ça faisait des "j'adore" partout ^ ^
Quand la macro est terminée, copiez/collez le résultat sur le forum
*********************************************
LA VERSION TRANSFORMEE PAR LA MACRO ET COLLEE CI-DESSOUS :
Mes codes :
la partie de texte qui fait référence au commentaire
( mon avis, mes remarques ou questions sur la partie en gras )
les fautes
les répétitions
{ les commentaires généraux }
[ Avis sur la forme ]
~ Passage que j'aime
![:heart: :heart:](./images/smilies/heart.gif)
Spoiler:
montrer
Sur la forme :
Sur le fond :
Modifié en dernier par raccoon le sam. mai 31, 2014 12:06 am, modifié 5 fois.
- raccoon
- Messages : 28
- Enregistré le : jeu. avr. 24, 2014 7:08 pm
- Rang special : laveur
- Localisation : Sous le soleil
Re: [Tutoriel] Transformer du traitement de texte en BBCode
DERNIERE MODIFICATION : 24 mai 2014
la macro:
la macro:
Code : Tout sélectionner
Sub Merci_Raccoon()
Application.ScreenUpdating = False
Dim MyText As String
Dim MyRange As Object
Set MyRange = ActiveDocument.Range
MyText = vbCrLf & vbCrLf & "Mes codes :" & vbCrLf & vbCrLf & "[color=#000000][b]la partie de texte qui fait référence au commentaire[/b][/color]" & vbCrLf & "[color=#0000FF]( mon avis, mes remarques ou questions sur la partie en gras )[/color]" & vbCrLf & "[color=#000000][u]les fautes[/u][/color]" & vbCrLf & "[color=#000000][strike]passage/mot [/strike][/color][color=#00BFFF] (pas indispensable)[/color]" & vbCrLf & "[color=#FF4000]les répétitions[/color]" & vbCrLf & "[color=#008040]{ les commentaires généraux }[/color]" & vbCrLf & "[color=#BF00BF][ Avis sur la forme ][/color]" & vbCrLf & "[color=#FF00BF]~ passage que j'aime :heart: ~[/color]" & vbCrLf & vbCrLf & "[spoiler]" & vbCrLf
MyRange.InsertBefore (MyText)
ConvertBold
ConvertItalic
ConvertUnderline
ConvertStrikethrough
ConvertColorBleu
ConvertColorVert
ConvertColorOrange
ConvertColorCyan
Remplace_dollar
Remplace_detoile
Remplace_etoile
Remplace_diese
Remplace_pct
Remplace_arob
Remplace_ouvert
Remplace_ferme
Remplace_anti
Remplace_para
ActiveDocument.Select
pos = Selection.EndKey(Unit:=wdLine, Extend:=wdMove)
MyText = vbCrLf & "[/spoiler]" & vbCrLf & vbCrLf & "[b]AVIS GENERAL[/b]" & vbCrLf & vbCrLf & "[u]Sur la forme :[/u]" & vbCrLf & vbCrLf & vbCrLf & "[u]Sur le fond :[/u]" & vbCrLf & vbCrLf
Selection.InsertAfter (MyText)
ActiveDocument.Content.Copy
Call Selection.Find.ClearFormatting
Application.ScreenUpdating = True
End Sub
Private Sub SetupFindObject()
ActiveDocument.Select
With Selection.Find
.ClearFormatting
.Text = ""
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Forward = True
.Wrap = wdFindContinue
End With
End Sub
Private Sub ConvertItalic()
Call SetupFindObject
Selection.Find.Font.Italic = True
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Italic = False
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Italic = False
With Selection
.InsertBefore "[i]"
.Collapse (wdCollapseEnd)
.InsertAfter "[/i]"
End With
'SurroundSelectionWithTag2 ("i")
End If
End With
Loop
End Sub
Private Sub ConvertBold()
Call SetupFindObject
Selection.Find.Font.Bold = True
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Bold = False
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Bold = False
With Selection
.InsertBefore "[color=#000000][b]"
.Collapse (wdCollapseEnd)
.InsertAfter "[/b][/color]"
End With
' SurroundSelectionWithTag ("b")
End If
End With
Loop
End Sub
Private Sub ConvertUnderline()
Call SetupFindObject
Selection.Find.Font.Underline = True
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Underline = False
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr And .Range.Hyperlinks.Count = 0 Then
.Font.Underline = False
With Selection
.InsertBefore "[color=#000000][u]"
.Collapse (wdCollapseEnd)
.InsertAfter "[/u][/color]"
End With
'SurroundSelectionWithTag ("u")
End If
End With
Loop
End Sub
Private Sub ConvertStrikethrough()
Call SetupFindObject
Selection.Find.Font.StrikeThrough = True
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.StrikeThrough = False
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.StrikeThrough = False
With Selection
.InsertBefore "[color=#000000][strike]"
.Collapse (wdCollapseEnd)
.InsertAfter "[/strike][/color][color=#00BFFF] (Est-ce indispensable?)[/color]"
End With
'SurroundSelectionWithTag ("strike")
End If
End With
Loop
End Sub
Private Sub ConvertColorBleu()
Call SetupFindObject
Selection.Find.Font.TextColor.RGB = RGB(0, 112, 192)
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Color = wdColorBlack
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Color = wdColorBlack
With Selection
.InsertBefore "[color=#0000FF]("
.Collapse (wdCollapseEnd)
.InsertAfter ")[/Color]"
End With
End If
End With
Loop
End Sub
Private Sub ConvertColorVert()
Call SetupFindObject
Selection.Find.Font.TextColor.RGB = RGB(0, 176, 80)
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Color = wdColorBlack
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Color = wdColorBlack
With Selection
.InsertBefore "[Color=#008040]{"
.Collapse (wdCollapseEnd)
.InsertAfter "}[/Color]"
End With
End If
End With
Loop
End Sub
Private Sub ConvertColorOrange()
Call SetupFindObject
Selection.Find.Font.TextColor.RGB = RGB(255, 192, 0)
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Color = wdColorBlack
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Color = wdColorBlack
With Selection
.InsertBefore "[Color=#FF4000]"
.Collapse (wdCollapseEnd)
.InsertAfter "[/Color]"
End With
End If
End With
Loop
End Sub
Private Sub ConvertColorCyan()
Call SetupFindObject
Selection.Find.Font.TextColor.RGB = RGB(0, 176, 240)
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Color = wdColorBlack
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Color = wdColorBlack
With Selection
.InsertBefore "[Color=#00BFFF]{"
.Collapse (wdCollapseEnd)
.InsertAfter "}[/Color]"
End With
End If
End With
Loop
End Sub
Private Sub Remplace_dollar()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "$"
.Replacement.Text = "[Color=#0000FF](Attention au sens de ce mot: peut-être pas le plus approprié pour ce passage/contexte)[/Color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_detoile()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "**"
.Replacement.Text = "[color=#FF00BF]~ J'adore ce passage :heart: :heart: ~[/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_etoile()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "*"
.Replacement.Text = "[color=#FF00BF]~ j'aime ce passage :heart: ~[/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_diese()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "+"
.Replacement.Text = "[color=#BF00BF][Passage un peu lourd: à reformuler][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_pct()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "%"
.Replacement.Text = "[color=#BF00BF][Tic de langage/Formulation à prohiber dans une narration: enlever ou reformuler][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_arob()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "@"
.Replacement.Text = "[color=#BF00BF][Peu élégant: à modifier][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_ouvert()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "<"
.Replacement.Text = "[color=#BF00BF]<Il manque une chose ici "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_ferme()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ">"
.Replacement.Text = " >[/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_anti()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "\"
.Replacement.Text = "[color=#BF00BF][Attention aux temps: Vérifier la chronologie des actions par rapport au temps principal de narration][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_para()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "§"
.Replacement.Text = "[color=#BF00BF][Répétition d'idées / redondance d'informations][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Modifié en dernier par raccoon le sam. mai 24, 2014 4:08 pm, modifié 4 fois.
- raccoon
- Messages : 28
- Enregistré le : jeu. avr. 24, 2014 7:08 pm
- Rang special : laveur
- Localisation : Sous le soleil
Re: [Tutoriel] Transformer du traitement de texte en BBCode
NOTE: si les couleurs (en BBCode) que j'utilise ne vous plaisent pas, il est facile de les modifier. Changez mes codes (genre #FF0000 ) par votre propre code couleur dans l'en-tête et dans la partie dédiée à la récupération de la couleur Word. Idem pour les textes que j'ai utilisés pour indiquer "mes codes"
COMMENT INSTALLER LA MACRO:
Je n'ai que la version 2010 en anglais alors je ne sais pas si le texte des menus ci-dessous (si c'est différent, indiquez-le moi, je ferai un édit de ce post) va correspondre, mais voici la procédure:
Afficher l’onglet Développeur ( s'il n'est pas déjà présent ):
1) Cliquez sur l’onglet Fichier
2) Cliquez sur Options
3) Cliquez sur Personnaliser le ruban
4) Sous "Personnaliser le ruban" dans la partie "Onglets principaux" (à droite), activez la case à cocher Développeur
5) OK
Afficher les outils de MACRO :
1) Il y a maintenant un onglet "Développeur" dans les menus en haut, cliquez dessus.
2) Cliquez sur l'icone "Visual Basic" (le premier à gauche)
-> une nouvelle fenêtre apparait
IMPORTANT, pour que la macro fonctionne, il faut ajouter la référence "Microsoft VBScript Regular Expressions" .
Pour ce faire, dans cette fenêtre "Microsoft Visual Basic pour applications - Normal" :
1) Allez dans Outils (dans le menu en haut de cette nouvelle fenêtre)
2) Puis dans Références
3) Cochez "Microsoft VBScript Regular Expressions 1.0" (la liste est longue, de mémoire c'est vers le milieu)
4) Cochez "Microsoft VBScript Regular Expressions 5.5" (idem)
5) OK
Dans la fenêtre visual basic "Microsoft Visual Basic pour applications - Normal", il y a une petite fenêtre "projet normal" (si vous la voyez pas, faites Ctrl+R)
1) Double-cliquez sur "Ce document" (sous "normal")
2) Une fenêtre s'ouvre, copier dedans le texte de la macro
3) Sauvez (disquette en haut) puis fermez tout.
Normalement, cette macro sera maintenant disponible dans tous vos fichiers word.
Pour lancer la macro Alt+F8 -> run ("lancer" je suppose)
ATTENTION !
1) Ne pas la lancer plusieurs fois de suite sinon ça double les infos en haut et en bas
2) avant de la lancer, je conseille fortement de faire un "Save As" de votre document, car une fois les modifications faites, le retour en arrière est galère !
Je crois qu'il n'y a rien d'autre ... Si ?
Ah oui! Si ça marche chez vous, dites-le moi
Merci
COMMENT INSTALLER LA MACRO:
Je n'ai que la version 2010 en anglais alors je ne sais pas si le texte des menus ci-dessous (si c'est différent, indiquez-le moi, je ferai un édit de ce post) va correspondre, mais voici la procédure:
Afficher l’onglet Développeur ( s'il n'est pas déjà présent ):
1) Cliquez sur l’onglet Fichier
2) Cliquez sur Options
3) Cliquez sur Personnaliser le ruban
4) Sous "Personnaliser le ruban" dans la partie "Onglets principaux" (à droite), activez la case à cocher Développeur
5) OK
Afficher les outils de MACRO :
1) Il y a maintenant un onglet "Développeur" dans les menus en haut, cliquez dessus.
2) Cliquez sur l'icone "Visual Basic" (le premier à gauche)
-> une nouvelle fenêtre apparait
IMPORTANT, pour que la macro fonctionne, il faut ajouter la référence "Microsoft VBScript Regular Expressions" .
Pour ce faire, dans cette fenêtre "Microsoft Visual Basic pour applications - Normal" :
1) Allez dans Outils (dans le menu en haut de cette nouvelle fenêtre)
2) Puis dans Références
3) Cochez "Microsoft VBScript Regular Expressions 1.0" (la liste est longue, de mémoire c'est vers le milieu)
4) Cochez "Microsoft VBScript Regular Expressions 5.5" (idem)
5) OK
Dans la fenêtre visual basic "Microsoft Visual Basic pour applications - Normal", il y a une petite fenêtre "projet normal" (si vous la voyez pas, faites Ctrl+R)
1) Double-cliquez sur "Ce document" (sous "normal")
2) Une fenêtre s'ouvre, copier dedans le texte de la macro
3) Sauvez (disquette en haut) puis fermez tout.
Normalement, cette macro sera maintenant disponible dans tous vos fichiers word.
Pour lancer la macro Alt+F8 -> run ("lancer" je suppose)
ATTENTION !
1) Ne pas la lancer plusieurs fois de suite sinon ça double les infos en haut et en bas
2) avant de la lancer, je conseille fortement de faire un "Save As" de votre document, car une fois les modifications faites, le retour en arrière est galère !
Je crois qu'il n'y a rien d'autre ... Si ?
Ah oui! Si ça marche chez vous, dites-le moi
![Clin d’oeil ;)](./images/smilies/icon_e_wink.gif)
- raccoon
- Messages : 28
- Enregistré le : jeu. avr. 24, 2014 7:08 pm
- Rang special : laveur
- Localisation : Sous le soleil
Re: [Tutoriel] Transformer du traitement de texte en BBCode
J'ai fait de nouvelles modifications :
2 caractères spéciaux en plus
quelques changements de textes
Pas de retours d'utilisation ?
2 caractères spéciaux en plus
quelques changements de textes
Pas de retours d'utilisation ?
- Crazy
- Impératrice incontestée du Pareil © Crazy
- Messages : 5831
- Enregistré le : mer. juin 05, 2013 9:30 pm
- Rang special : Chieuse pas tentée
- Localisation : IdF
- Contact :
Re: [Tutoriel] Transformer du traitement de texte en BBCode
Tout le monde est aux Ima'raccoon a écrit :Pas de retours d'utilisation ?
![Clin d’oeil ;)](./images/smilies/icon_e_wink.gif)
![stylo :stylo:](./images/smilies/coahecrit.png)
- Zeno Sillaa
- Messages : 39
- Enregistré le : jeu. août 28, 2008 11:56 am
- Rang special : Revenant
- Localisation : Près de Toulouse
Re: [Tuto] traitement de texte > BBCode GAGNEZ DU TPS SUR VO
Pas mal ce module vba, j'ai testé, je prends !
"Faites que le rêve dévore votre vie, afin que la vie ne dévore pas votre rêve"
Antoine de Saint-Exupery
Antoine de Saint-Exupery
- Ifuldrita
- Vive les rouleaux croquants au chant du rossignifu
- Messages : 6101
- Enregistré le : jeu. juil. 22, 2010 2:22 pm
- Rang special : Bisounouille
- Localisation : Shushtar
Re: [Tuto] traitement de texte > BBCode GAGNEZ DU TPS SUR VOS BL
Raccoon, ta macro avait l'air si bien...
Mais je confirme, ça ne marche pas sur MS Word 2007
Merci quand même pour le partage![:love: :love:](./images/smilies/amour10.gif)
Mais je confirme, ça ne marche pas sur MS Word 2007
![pleure :pleure:](./images/smilies/cry.png)
Merci quand même pour le partage
![:love: :love:](./images/smilies/amour10.gif)
![:heart: :heart:](./images/smilies/heart.gif)
![:heart: :heart:](./images/smilies/heart.gif)
Quand vient la Horde aux éditions Folio
Avatar par Joacoful
- grenouille à cheveux
- Messages : 46
- Enregistré le : dim. mai 24, 2015 9:51 pm
- Rang special : Grenouille Samson
- Localisation : sur le mont Chauve
Re: [Tuto] traitement de texte > BBCode GAGNEZ DU TPS SUR VOS BL
J'ai Word 2007 et avec un ou deux bidouillages, ça a l'air de marcher. J'ai aussi changé le raccourci $ (dans ma macro il permet d'ajouter [/spoiler][spoiler] et donc de couper le texte en plusieurs parties qu'on peut ainsi poster sur le forum dans des posts différents). J'ai mi mes propres textes et couleurs (même si j'ai laissé les noms d'origine des "sub"). Enfin j'ai supprimé l'italique et le barré qui ne m'intéressaient pas. Sinon tout est copié de Racoon.
La voici :
Sub Merci_Raccoon()
Application.ScreenUpdating = False
Dim MyText As String
Dim MyRange As Object
Set MyRange = ActiveDocument.Range
MyText = vbCrLf & vbCrLf & "Ceci est ma bêta-lecture. N'oubliez pas que ce n'est que mon avis et que d'autres lecteurs pourraient voir le texte différemment." & vbCrLf & "Mes codes de couleurs :" & vbCrLf & "[color=#0000FF]bleu : style (orthographe, grammaire, mot impropre, répétitions, manque de clarté, syntaxe…)[/color]" & vbCrLf & "[color=#000000]vert: personnages (problèmes de caractérisation, crédibilité, incohérences dans le comportement…)[/color]" & vbCrLf & "[color=#FF0000]rouge : problème d'intrigue (incohérences, construction, POV,…)[/color]" & vbCrLf & "[color=#FF4000]violet : autres commentaires[/color]" & vbCrLf & vbCrLf & vbCrLf & "[spoiler]" & vbCrLf
MyRange.InsertBefore (MyText)
ConvertBold
ConvertUnderline
ConvertColorBleu
ConvertColorVert
ConvertColorOrange
ConvertColorCyan
Remplace_dollar
Remplace_detoile
Remplace_etoile
Remplace_diese
Remplace_pct
Remplace_arob
Remplace_ouvert
Remplace_ferme
Remplace_anti
Remplace_para
ActiveDocument.Select
pos = Selection.EndKey(Unit:=wdLine, Extend:=wdMove)
MyText = vbCrLf & "[/spoiler]" & vbCrLf & vbCrLf & "[spoiler]" & "Impression générale :" & vbCrLf & vbCrLf & "[/spoiler]"
Selection.InsertAfter (MyText)
ActiveDocument.Content.Copy
Call Selection.Find.ClearFormatting
Application.ScreenUpdating = True
End Sub
Private Sub SetupFindObject()
ActiveDocument.Select
With Selection.Find
.ClearFormatting
.Text = ""
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Forward = True
.Wrap = wdFindContinue
End With
End Sub
Private Sub ConvertBold()
Call SetupFindObject
Selection.Find.Font.Bold = True
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Bold = False
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Bold = False
With Selection
.InsertBefore "[color=#000000][b]"
.Collapse (wdCollapseEnd)
.InsertAfter "[/b][/color]"
End With
' SurroundSelectionWithTag ("b")
End If
End With
Loop
End Sub
Private Sub ConvertUnderline()
Call SetupFindObject
Selection.Find.Font.Underline = True
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Underline = False
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr And .Range.Hyperlinks.Count = 0 Then
.Font.Underline = False
With Selection
.InsertBefore "[color=#000000][u]"
.Collapse (wdCollapseEnd)
.InsertAfter "[/u][/color]"
End With
'SurroundSelectionWithTag ("u")
End If
End With
Loop
End Sub
Private Sub ConvertColorBleu()
Call SetupFindObject
Selection.Find.Font.Color = RGB(0, 112, 192)
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Color = wdColorBlack
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Color = wdColorBlack
With Selection
.InsertBefore "[color=#0070C0]("
.Collapse (wdCollapseEnd)
.InsertAfter ")[/color]"
End With
End If
End With
Loop
End Sub
Private Sub ConvertColorVert()
Call SetupFindObject
Selection.Find.Font.Color = RGB(0, 176, 80)
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Color = wdColorBlack
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Color = wdColorBlack
With Selection
.InsertBefore "[color=#00B050]("
.Collapse (wdCollapseEnd)
.InsertAfter ")[/color]"
End With
End If
End With
Loop
End Sub
Private Sub ConvertColorOrange()
Call SetupFindObject
Selection.Find.Font.Color = RGB(255, 0, 0)
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Color = wdColorBlack
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Color = wdColorBlack
With Selection
.InsertBefore "[color=#FF0000]("
.Collapse (wdCollapseEnd)
.InsertAfter ")[/color]"
End With
End If
End With
Loop
End Sub
Private Sub ConvertColorCyan()
Call SetupFindObject
Selection.Find.Font.Color = RGB(112, 48, 160)
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Color = wdColorBlack
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Color = wdColorBlack
With Selection
.InsertBefore "[color=#7030A0]("
.Collapse (wdCollapseEnd)
.InsertAfter ")[/color]"
End With
End If
End With
Loop
End Sub
Private Sub Remplace_dollar()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "$"
.Replacement.Text = vbCr & vbCr & "[/spoiler]" & vbCr & vbCr & "[spoiler]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_detoile()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "**"
.Replacement.Text = "[color=#FF00BF]~ J'adore ce passage
~[/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_etoile()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "*"
.Replacement.Text = "[color=#FF00BF]~ j'aime ce passage
~[/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_diese()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "+"
.Replacement.Text = "[color=#BF00BF][Passage un peu lourd: à reformuler][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_pct()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "%"
.Replacement.Text = "[color=#BF00BF][Tic de langage/Formulation à prohiber dans une narration: enlever ou reformuler][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_arob()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "@"
.Replacement.Text = "[color=#BF00BF][Peu élégant: à modifier][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_ouvert()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "<"
.Replacement.Text = "[color=#BF00BF]<Il manque une chose ici "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_ferme()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ">"
.Replacement.Text = " >[/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_anti()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "\"
.Replacement.Text = "[color=#BF00BF][Attention aux temps: Vérifier la chronologie des actions par rapport au temps principal de narration][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_para()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "§"
.Replacement.Text = "[color=#BF00BF][Répétition d'idées / redondance d'informations][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Il est très important pour que ça fonctionne que les couleurs utilisées sur Word correspondent aux codes RGB (chez moi ce sont les couleurs standards : bleu (pas bleu clair), vert (pas vert clair), rouge et violet.
Si vous voulez me poser des questions...
La voici :
Sub Merci_Raccoon()
Application.ScreenUpdating = False
Dim MyText As String
Dim MyRange As Object
Set MyRange = ActiveDocument.Range
MyText = vbCrLf & vbCrLf & "Ceci est ma bêta-lecture. N'oubliez pas que ce n'est que mon avis et que d'autres lecteurs pourraient voir le texte différemment." & vbCrLf & "Mes codes de couleurs :" & vbCrLf & "[color=#0000FF]bleu : style (orthographe, grammaire, mot impropre, répétitions, manque de clarté, syntaxe…)[/color]" & vbCrLf & "[color=#000000]vert: personnages (problèmes de caractérisation, crédibilité, incohérences dans le comportement…)[/color]" & vbCrLf & "[color=#FF0000]rouge : problème d'intrigue (incohérences, construction, POV,…)[/color]" & vbCrLf & "[color=#FF4000]violet : autres commentaires[/color]" & vbCrLf & vbCrLf & vbCrLf & "[spoiler]" & vbCrLf
MyRange.InsertBefore (MyText)
ConvertBold
ConvertUnderline
ConvertColorBleu
ConvertColorVert
ConvertColorOrange
ConvertColorCyan
Remplace_dollar
Remplace_detoile
Remplace_etoile
Remplace_diese
Remplace_pct
Remplace_arob
Remplace_ouvert
Remplace_ferme
Remplace_anti
Remplace_para
ActiveDocument.Select
pos = Selection.EndKey(Unit:=wdLine, Extend:=wdMove)
MyText = vbCrLf & "[/spoiler]" & vbCrLf & vbCrLf & "[spoiler]" & "Impression générale :" & vbCrLf & vbCrLf & "[/spoiler]"
Selection.InsertAfter (MyText)
ActiveDocument.Content.Copy
Call Selection.Find.ClearFormatting
Application.ScreenUpdating = True
End Sub
Private Sub SetupFindObject()
ActiveDocument.Select
With Selection.Find
.ClearFormatting
.Text = ""
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Forward = True
.Wrap = wdFindContinue
End With
End Sub
Private Sub ConvertBold()
Call SetupFindObject
Selection.Find.Font.Bold = True
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Bold = False
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Bold = False
With Selection
.InsertBefore "[color=#000000][b]"
.Collapse (wdCollapseEnd)
.InsertAfter "[/b][/color]"
End With
' SurroundSelectionWithTag ("b")
End If
End With
Loop
End Sub
Private Sub ConvertUnderline()
Call SetupFindObject
Selection.Find.Font.Underline = True
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Underline = False
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr And .Range.Hyperlinks.Count = 0 Then
.Font.Underline = False
With Selection
.InsertBefore "[color=#000000][u]"
.Collapse (wdCollapseEnd)
.InsertAfter "[/u][/color]"
End With
'SurroundSelectionWithTag ("u")
End If
End With
Loop
End Sub
Private Sub ConvertColorBleu()
Call SetupFindObject
Selection.Find.Font.Color = RGB(0, 112, 192)
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Color = wdColorBlack
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Color = wdColorBlack
With Selection
.InsertBefore "[color=#0070C0]("
.Collapse (wdCollapseEnd)
.InsertAfter ")[/color]"
End With
End If
End With
Loop
End Sub
Private Sub ConvertColorVert()
Call SetupFindObject
Selection.Find.Font.Color = RGB(0, 176, 80)
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Color = wdColorBlack
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Color = wdColorBlack
With Selection
.InsertBefore "[color=#00B050]("
.Collapse (wdCollapseEnd)
.InsertAfter ")[/color]"
End With
End If
End With
Loop
End Sub
Private Sub ConvertColorOrange()
Call SetupFindObject
Selection.Find.Font.Color = RGB(255, 0, 0)
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Color = wdColorBlack
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Color = wdColorBlack
With Selection
.InsertBefore "[color=#FF0000]("
.Collapse (wdCollapseEnd)
.InsertAfter ")[/color]"
End With
End If
End With
Loop
End Sub
Private Sub ConvertColorCyan()
Call SetupFindObject
Selection.Find.Font.Color = RGB(112, 48, 160)
Do While Selection.Find.Execute
With Selection
If InStr(1, .Text, vbCr) Then
.Font.Color = wdColorBlack
.Collapse
.MoveEndUntil vbCr
End If
If Not .Text = vbCr Then
.Font.Color = wdColorBlack
With Selection
.InsertBefore "[color=#7030A0]("
.Collapse (wdCollapseEnd)
.InsertAfter ")[/color]"
End With
End If
End With
Loop
End Sub
Private Sub Remplace_dollar()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "$"
.Replacement.Text = vbCr & vbCr & "[/spoiler]" & vbCr & vbCr & "[spoiler]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_detoile()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "**"
.Replacement.Text = "[color=#FF00BF]~ J'adore ce passage
![:heart: :heart:](./images/smilies/heart.gif)
![:heart: :heart:](./images/smilies/heart.gif)
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_etoile()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "*"
.Replacement.Text = "[color=#FF00BF]~ j'aime ce passage
![:heart: :heart:](./images/smilies/heart.gif)
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_diese()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "+"
.Replacement.Text = "[color=#BF00BF][Passage un peu lourd: à reformuler][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_pct()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "%"
.Replacement.Text = "[color=#BF00BF][Tic de langage/Formulation à prohiber dans une narration: enlever ou reformuler][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_arob()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "@"
.Replacement.Text = "[color=#BF00BF][Peu élégant: à modifier][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_ouvert()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "<"
.Replacement.Text = "[color=#BF00BF]<Il manque une chose ici "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_ferme()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ">"
.Replacement.Text = " >[/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_anti()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "\"
.Replacement.Text = "[color=#BF00BF][Attention aux temps: Vérifier la chronologie des actions par rapport au temps principal de narration][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Private Sub Remplace_para()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "§"
.Replacement.Text = "[color=#BF00BF][Répétition d'idées / redondance d'informations][/color]"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Il est très important pour que ça fonctionne que les couleurs utilisées sur Word correspondent aux codes RGB (chez moi ce sont les couleurs standards : bleu (pas bleu clair), vert (pas vert clair), rouge et violet.
Si vous voulez me poser des questions...
- lilye-rose
- Batracien
- Messages : 101
- Enregistré le : jeu. mai 28, 2015 10:12 pm
- Rang special : conteuse
- Contact :
Re: [Tuto] traitement de texte > BBCode GAGNEZ DU TPS SUR VOS BL
![:heart: :heart:](./images/smilies/heart.gif)
![:heart: :heart:](./images/smilies/heart.gif)
![:heart: :heart:](./images/smilies/heart.gif)
![:heart: :heart:](./images/smilies/heart.gif)
J'ai words 2010 et ça MARCHE!!!!
Merci beaucoup Racoon pour ton aide! c'est génial!! Par contre je n'ai pas trop compris comment faire pour modifier les signes et les couleurs? Pourrais-tu me donner un deuxième coup de main?
Encore merci c'est vraiment génial!!!
![pompom :pompom:](./images/smilies/551664pompom.gif)
![pompom :pompom:](./images/smilies/551664pompom.gif)
![pompom :pompom:](./images/smilies/551664pompom.gif)
![pompom :pompom:](./images/smilies/551664pompom.gif)
![merci grenouille :merci2:](./images/smilies/0001122.gif)
![pompom :pompom:](./images/smilies/551664pompom.gif)
![chocolat :chocolat:](./images/smilies/chocol10.gif)
![pompom :pompom:](./images/smilies/551664pompom.gif)
![chocolat :chocolat:](./images/smilies/chocol10.gif)
![pompom :pompom:](./images/smilies/551664pompom.gif)
![chocolat :chocolat:](./images/smilies/chocol10.gif)
Mon blog dessin
http://1yuri1penuinui.blogspot.fr/
Mon challenge 2015
Les Derniers Anges
Mon papyrus
Les Derniers Anges