IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Macro pour mettre en gras la ponctuation [OpenOffice][Texte]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Macro pour mettre en gras la ponctuation
    Bonjour à tous,
    Je souhaite créer une macro qui puisse mettre en gras les signes de ponctuation ainsi que les majuscules. Je ne connais pas le langage de programmation alors je passe par la fonction rechercher-remplacer. Le problème c'est que cela fonctionne bien SAUF quand je veux enregistrer cela dans une macro. J'ai lu qu'il fallait que je passe directement par le code.
    Quelqu'un peut-il m'aider? Je suis enseignant et je dois adapter mes documents pour mes élèves dyslexiques.

    Merci par avance.

    Personne Ressource Adaptations Scolaires - Handicap
      0  0

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Bonjour,

    Quelque chose comme cela devrait convenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Function ZoomListe()
        ZoomModif (",")
        ZoomModif ("?")
        ZoomModif ("!")
        msgbox "1"
    end function
     
    Function ZoomModif(Ponctution as string)
     
        Dim monDocument As Object, monTexte As Object
        Dim jeCherche As Object, posTrouve As Object
        Dim monCurseur  As Object, Curseur2 As Object
        monDocument = ThisComponent
        monTexte = monDocument.Text
        monCurseur= monTexte.createTextCursor
        jeCherche = monDocument.createSearchDescriptor
        with jeCherche
          .SearchString = Ponctution
          .SearchWords = true 
        end with
        posTrouve = monDocument.findNext(monCurseur.Start, jeCherche)
        Do Until isNull(posTrouve)
          if EqualUnoObjects(monTexte, posTrouve.Text) then
            ' L'occurrence est dans la zone de recherche
            Curseur2 = monTexte.createTextCursorByRange(posTrouve)
            ' Curseur2 sélectionne le texte trouvé
            if Curseur2.String = Ponctution then Curseur2.CharHeight = 16
                Curseur2.CharWeight = com.sun.star.awt.FontWeight.BOLD
              end if
          posTrouve = monDocument.findNext(posTrouve.End, jeCherche)
        Loop
     
    end function
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique
      0  0

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Merci!!!
    Bonjour Zoom61,
    Merci beaucoup, ce que vous m'avez envoyé fonctionne.
    Je l'ai modifié pour que tous les signes de ponctuation qui m'intéresses fonctionnent. Par contre j'ai deux questions
    La première: vous avez ajouté une police de caractère à 16, si je veux que la taille de police reste la même (ne pas indiquer de taille mais garder la taille initiale) par quel code dois-je remplacer le "16".
    Ma seconde question: Je souhaite avoir en police de caractère gras les majuscules. Quand je passe par la fonction remplacer-rechercher, je recherche \<[A-Z] (option "respecter la casse" et "expression régulière") et je remplace par $0 (format "gras"). Comment intégrer cette action?

    Je vous remercie encore pour votre première réponse.
      0  0

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Avec le code complémentaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Function ZoomLettre
     
        Dim monDocument As Object, monTexte As Object
        Dim jeCherche As Object, posTrouve As Object
        Dim monCurseur  As Object, Curseur2 As Object
        monDocument = ThisComponent
        monTexte = monDocument.Text
        monCurseur= monTexte.createTextCursor
        jeCherche = monDocument.createSearchDescriptor
        with jeCherche
          .SearchCaseSensitive = True
          .SearchRegularExpression = True
          .SearchString = "[A-Z]"
        end with
        posTrouve = monDocument.findNext(monCurseur.Start, jeCherche)
        Do Until isNull(posTrouve)
          if EqualUnoObjects(monTexte, posTrouve.Text) then
            ' L'occurrence est dans la zone de recherche
            Curseur2 = monTexte.createTextCursorByRange(posTrouve)
            ' Curseur2 sélectionne le texte trouvé
            if Curseur2.String = "A" or Curseur2.String = "B" or Curseur2.String = "C" or Curseur2.String = "D" _ 
                or Curseur2.String = "E" or Curseur2.String = "F" or Curseur2.String = "G" or Curseur2.String = "H" _ 
                or Curseur2.String = "I" or Curseur2.String = "J" or Curseur2.String = "K" or Curseur2.String = "L" _ 
                or Curseur2.String = "M" or Curseur2.String = "N" or Curseur2.String = "O" or Curseur2.String = "P" _ 
                or Curseur2.String = "Q" or Curseur2.String = "R" or Curseur2.String = "S" or Curseur2.String = "T" _ 
                or Curseur2.String = "U" or Curseur2.String = "V" or Curseur2.String = "W" or Curseur2.String = "X" _ 
                or Curseur2.String = "Y" or Curseur2.String = "Z"   then
                Curseur2.CharWeight = com.sun.star.awt.FontWeight.BOLD
            end if
           end if
          posTrouve = monDocument.findNext(posTrouve.End, jeCherche)
        Loop
     
    End function
    Il suffira de rajouter ZoomLettre dans la fonction ZoomListe().

    EDIT :
    Citation Envoyé par Pers Ressource ASH Voir le message
    BJe l'ai modifié pour que tous les signes de ponctuation qui m'intéresses fonctionnent. Par contre j'ai deux questions
    La première: vous avez ajouté une police de caractère à 16, si je veux que la taille de police reste la même (ne pas indiquer de taille mais garder la taille initiale) par quel code dois-je remplacer le "16".
    Oui
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique
      0  0

Discussion fermée
Cette discussion est résolue.

Discussions similaires

  1. [BPW] Code d'imprimante pour mettre en gras
    Par bahdidi dans le forum Turbo Pascal
    Réponses: 11
    Dernier message: 24/02/2010, 19h36
  2. [Toutes versions] Macro pour mettre selection en html sur serveur
    Par djoumusic dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/07/2009, 08h31
  3. [XL-2003] Pb Macro pour mettre login et mdp
    Par asus13x11 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/04/2009, 18h12
  4. Macro pour mettre à jour tous les TCD
    Par kimai81 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 07/03/2008, 21h55
  5. Réponses: 4
    Dernier message: 13/09/2007, 09h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo