« De La Présentation »

5 réponses, 10441 vues


<b>Les Macros (part II - avec Word)</b>


Cas concret : vous venez de taper un joli texte dans Word. Vous voudriez le publier sur le forum.


Problème : en copiant-collant bêtement le message à partir de Word, vous devrez vous retaper toute la mise en forme : gras, italique, souligné, et même barré, s'il y en a dans votre texte.


Solution n°1 : faire la mise en forme à la main tout en se lamentant.


Solution n°2 : faire preuve de ruse


– dans Word, démarrer l'enregistrement d'une macro (Outils > Macro > Nouvelle Macro)


– appuyer sur Ctrl + F


– choisir l'onglet « Remplacer »


– cliquer sur « Plus »


– parmi les boutons qui aparaissent, cliquer sur Format > Police


– dans la boîte de dialogue qui apparaît, choisir « gras », valider avec OK


Vous devez avoir un truc du genre « Format : Police : Gras » sous l'entrée du formulaire « Rechercher »


– dans l'entrée de formulaire « Remplacer », tapez : “{b}^&{/b}” (avec des crochets à la place des accolades, of course)


– cliquez sur « Remplacer tout » : toutes les parties en gras sont maintenant entourées des balises qui vont bien !


– recommencez l'opération pour chaque balise nécessaire : italique, souligné, barré, couleur, etc...


– terminer l'enregistrement de la macro et profiter de ses bienfaits à volonté


La code de la macro tout cuit pour les balises b, i, u et s.


(Intermède pour ceux qui disent « ouin, je sais pas créer une macro » : Alt + F8


– entrez un nom de macro dans le champ en haut, par exemple Word2BBCode, puis cliquez sur « Créer »


– entre « Sub Word2BBCode() » et « End Sub », collez le texte suivant :




Code :
Selection.Find.ClearFormatting
    Selection.Find.Font.Bold = True
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = "[b]^&amp;[/b]"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Font.Italic = True
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = "[i]^&amp;[/i]"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Font.Underline = wdUnderlineSingle
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = "[u]^&amp;[/u]"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    With Selection.Find.Font
        .StrikeThrough = True
        .DoubleStrikeThrough = False
    End With
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = "[s]^&amp;[/s]"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll





Voilà, vous êtes presque un surhomme.


---

(Modification du message : 14-11-2007, 19:21 par Ingos Strakh.)

Messages dans ce sujet
« De La Présentation » - par Ingos Strakh - 10-11-2007, 14:25
« De La Présentation » - par sebrom - 11-11-2007, 12:45
« De La Présentation » - par Xavier - 11-11-2007, 22:39
« De La Présentation » - par Ingos Strakh - 12-11-2007, 08:15
« De La Présentation » - par Ingos Strakh - 13-11-2007, 02:56
« De La Présentation » - par Ingos Strakh - 14-11-2007, 18:44