Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 31

Macro WORD: cacher texte



  1. #1
    benjo031

    Macro WORD: cacher texte


    ------

    Bonjour,

    Je dois realiser un formulaire sous word dans lequel apparaissent ou non des paragraphes selon le fait que l'utilisateur coche ou non les "Champ case à cocher" relatifs à chaque paragraphes.
    Quelqu'un aurait une idée? j'ai cherche un peu partout une macro avec la fonction hide mais je n'ai rien trouvé de bien precis.

    Merci d'avance

    ben

    -----

  2. Publicité
  3. #2
    benjo031

    Re : Macro WORD: cacher texte

    J'avais trouvé ca:
    Macro for showing/hiding hidden text, spaces, tabs, paragraph marks etc. in MS Word
    What the macro does

    This macro saves a lot of time clicking and selecting options to show and hide hidden text, spaces, tabs, paragraph marks etc. in MS Word. By clicking once, you will show all hidden text etc.; by clicking again you will hide it.

    This macro can be useful if you are using a translation memory program such as Trados Translator's Workbench, which makes use of hidden text (to mark the source language) as you may want to switch between "hidden text being shown" (to proofread your translation against the original text) and "hidden text being hidden" (to spellcheck your translation or to read through the entire translation without seeing the original text).

    Note: If you run a spellcheck on your translation with all hidden text (source language text) showing, the spellcheck will stop at every source language term that is not in the target language dictionary, therefore it is important to hide the source text before launching a spellcheck.


    How to set up the macro

    1. Select and copy the text of the macro shown below: Copy only the material that appears between the lines of asterisks; DO NOT copy extra blank lines or the asterisks themselves.

    **********cut here (do not include this line) **********

    On Error GoTo MainStop
    If ActiveWindow.View.ShowAll = False Or ActiveWindow.View.ShowHiddenTe xt = False Then
    With ActiveWindow
    With .View
    .ShowHiddenText = True
    .ShowAll = True
    End With
    End With
    Else
    With ActiveWindow
    With .View
    .ShowHiddenText = False
    .ShowAll = False
    End With
    End With
    End If
    MainStop:
    If Err.Number <> 0 Then
    MsgBox "This macro shows and hides all hidden text, spaces, tabs, paragraph marks etc. First you need to open a document..."
    End If

    **********cut here (do not include this line) **********

    2. In the menu bar at the top of your window in Word, click on the Tools menu. Click on Macro, then on Macros in the sub-menu.

    3. The Macros dialog box will open. Type the name "ShowHide" for the macro in the "Macro name:" field.

    4. Click the Create button.

    5. A window titled "Microsoft Visual Basic – Normal – [New Macros (Code)]" will open. In the window that appears, find the line of text that reads: Macro created [Today’s Date] by [Your Name]

    6. Paste the macro lines that you copied in Step 1 into the Visual Basic window, at the spot where the input cursor is blinking.

    7. Save your macro by clicking the Save button (diskette icon) on the toolbar.

    8. Close the whole Visual Basic window. Your macro is now installed.

    9. Add a macro button in your toolbar or in your right-click menu to run the macro.


    How to run the macro

    Open a document containing hidden text. Click once on the macro button to perform one operation (show or hide) and again to perform the opposite.


    mais je voudrais piloter le cacher-montrer par la case à cocher et ne pas l'appliquer à tout le document mais à un paragraphe (ou plus simple mettre le paragraphe dans un tableau et cacher le tableau).
    si certains touchent un peu VB...

    J'ai changé la couleur : le vert est réservé à la modération.

    JPL
    Dernière modification par JPL ; 18/02/2008 à 22h18.

  4. #3
    mécano41

    Re : Macro WORD: cacher texte

    Bonjour,

    Si, après avoir sélectionné le texte, tu fais ceci :

    Code:
    Selection.Font.Hidden = True
    cela met en caractères masqués. Ensuite

    Code:
    ActiveWindow.ActivePane.View.ShowAll = Not ActiveWindow.ActivePane.View. ShowAll
    fait disparaître l'écriture en même temps que les marques de paragraphe. Attention, tu ne peux pas faire écrire dans cette zone, par la macro, tant que le texte est masqué.

    Sinon tu peux aussi :

    - mettre les caractères en blanc (ou plutôt de la couleur du fond) et réduire la taille de ces caractères à 1 (on ne peut pas mettre zéro) pour ne pas voir des lignes vides

    - si c'est une cellule de tableau, réduire la hauteur à 1 pt et masquer le quadrillage

    Il y a peut-être d'autres solutions...

    Cordialement

  5. #4
    mécano41

    Re : Macro WORD: cacher texte

    Citation Envoyé par mécano41 Voir le message
    ...Attention, tu ne peux pas faire écrire dans cette zone, par la macro, tant que le texte est masqué...
    Je n'ai pas vérifié mais, après réflexion il me semble que c'est faux ; c'est si le texte est verrouillé/protégé que l'on ne peut pas écrire.

    Cordialement

  6. A voir en vidéo sur Futura
  7. #5
    benjo031

    Re : Macro WORD: cacher texte

    merci mecano41 pour ton aide.
    est ce que tu sais comment "nommer" un paragraphe ou un tableau pour dire ensuite:

    si case cochée: hide tableau ou paragraphe=true.
    si case décochée: hide tableau ou paragraphe=true.

    comme c'est un doc professionnel je ne peux pas mettre la police en blanc ou toute petite...

    A+

  8. #6
    mécano41

    Re : Macro WORD: cacher texte

    Bonjour,

    Pour nommer un paragraphe, tu peux insérer un signet après l'avoir sélectionné (si tu ne le sélectionnes pas, tu n'as que le point du curseur). Ensuite tu peux faire "Edition/atteindre". Pour transcrire ça en VBA, fais un essai avec l'enregistreur de macros. Rappel pour sélectionner : comme la souris n'est pas prise en compte dans la page, il faut sélectionner en se déplaçant à l'aide des flèches tout en maintenant la touche Maj ou shift appuyée.

    Pour un tableau, tu peux faire pareil ou bien le designer par sa position à l'aide de Tables. Par exemple : ActiveDocument . Tables(2) . Select désigne le début du deuxième tableau du document. Le problème c'est qu'en cas d'ajout ou de suppression de tableaux, la position devient fausse!

    Fais des essais avec l'enregistreur de macros c'est le plus simple et cela apprend des instructions (il faut ensuite nettoyer un peu... si l'on a compris ce que l'on fait...car il y a souvent des instructions inutiles).

    Attention également avec les signets, qu'ils ne risquent pas d'être effacés. C'est dommage, mais on ne peux pas protéger le signet sans protéger ce qu'il désigne et alors... on ne peux plus écrire.

    Je n'ai jamais utilisé les formulaires, mais si c'est le cas, tu peux éventuellement aller là et t'inscrire (gratuitement) pour pouvoir poser des questions. Il y a certainement d'autres méthodes plus professionnelles :

    http://www.developpez.net/forums/index.php dans la section Microsoft office/général VBA puis VBA Word

    Cordialement

  9. Publicité
  10. #7
    benjo031

    Re : Macro WORD: cacher texte

    ok merci je regarde ca ce soir.
    J'ai laissé un message sur le forum dont tu m'as parlé

    Merci encore pour ton aide
    A+

  11. #8
    benjo031

    Re : Macro WORD: cacher texte

    j'ai réussi a faire 2 macros:
    la première (macro1) qui cache le paragraphe (grace à un signet: merci mécano41) et la deuxième (macro2) qui le fait reaparaitre.
    j'ai deux problèmes:
    - la macro2 ne marche que si j'ai fait outil/option/texte caché. si je decoche cette option, la macro1 marche mais la 2 ne fait pas réapparaitre le texte....
    - lorsque j'applique ces macros à une caseacocher et que je passe en mode formulaire, j'ai un message d'erreur:
    erreur 4605: cette méthode ou propriete n'est pas disponible car l'objet fair reference à une zone protégée d'un document....
    j'ai mis le doc word en fichier joint

    Merci pour votre aide
    Fichiers attachés Fichiers attachés

  12. #9
    mécano41

    Re : Macro WORD: cacher texte

    Bonjour,

    Pour le moment, on ne peut rien voir car lorsque l'on ouvre ton document, il n'y a aucune macro dedans. Je suppose que tu es passé par "Enregistrer une nouvelle macro" ; dans ce cas, tu as dû les enregistrer dans le modèle NORMAL. Il faut les enregistrer dans TOTO.doc pour qu'elles restent avec lui (c'est juste au-dessous de l'endroit où tu donnes le nom de macro)

    Cordialement

  13. #10
    benjo031

    Re : Macro WORD: cacher texte

    Salut mécano,

    mouais... j'suis pas trop fortiche en VB donc je remets le document en piece jointe.

    Entre temps on m'a donné (Merci heureux oli) un code pour faire appraraitre et disparaitre le paragraphe (voir macros cachep1 et montrep1).
    ce code marche bien quand on execute simplement les deux macros. Donc premier probleme reglé!
    En revanche je n'arrive pas à associer la case à cocher avec ces deux macros...
    on m'a parlé de "déproteger" le doc pour executer la macro (voir macros cachep2 et montrep2) mais ca ne marche pas.
    Idem pour une macro qui regroupe cache et montre (voir caseacocher): marche pas...

    Merci mécano!
    A+
    Fichiers attachés Fichiers attachés

  14. #11
    mécano41

    Re : Macro WORD: cacher texte

    Bonjour,

    Comme le document n'est pas validé, j'ai pris celui de l'autre forum.

    Comme je te l'avais dit, je ne connais rien aux formulaires (je travaille avec des Userform ou boîtes de dialogues personnalisées) alors j'y suis allé un peu au pif.

    Je joins ce que j'ai fait ; je pense que c'est à peu près ce que tu cherches. Les explications sont dans le document.

    Cordialement
    Fichiers attachés Fichiers attachés

  15. #12
    benjo031

    Re : Macro WORD: cacher texte

    WAAAHOUUUU!!!!
    tu geres

    c'est exactement ca!

    j'suis resté bloqué sur le formulaire mais c'est vrai que ca marche très bien comme ca!!

    Un grand merci donc mécano


  16. Publicité
  17. #13
    Nessie37

    Re : Macro WORD: cacher texte

    Bonjour Ami du Centre Mécano41,

    Je suis tombée sur ce post qui m'intéresse fortement

    Je suis dans la même problématique mais je n'arrive pas à appliquer le code à ma situation.

    Peux-tu m'aider ?

    Dans l'attente de te lire avec une impatience certaine.

  18. #14
    mécano41

    Re : Macro WORD: cacher texte

    Bonjour

    Absent pour 1 semaine...

    Par tél.

    Cordialement

  19. #15
    Nessie37

    Re : Macro WORD: cacher texte

    Euh... bah puis-je avoir ton tel ?

  20. #16
    JPL
    Responsable des forums

    Re : Macro WORD: cacher texte

    À communiquer uniquement par MP.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  21. #17
    mécano41

    Re : Macro WORD: cacher texte

    Cela ne servirait à rien car je n'ai pas accès à mes fichiers et comme celui-ci a été fait il y a très longtemps, j'ai tout oublié. J'essaierai de voir en rentrant...

    Cordialement

  22. #18
    Nessie37

    Re : Macro WORD: cacher texte

    Pas de souci, c'était une tite blague.

    Je ne m'attendais pas à ce que tu me donnes ton tél.


    Merci en tout cas de m'aider.

    A bientôt.

  23. Publicité
  24. #19
    mécano41

    Re : Macro WORD: cacher texte

    Bonjour,

    J'ai jeté un coup d'oeil mais, en six ans et demi je n'ai pas touché à WORD en VBA... et à mon âge, beaucoup d'idées ont poussé les précédentes... En plus ce que j'avais fait était pour une version antérieure de WORD et il doit, maintenant, y avoir de nouvelles instructions...

    En revanche, tu pourrais t'inscrire et poser ta question sur ce forum dans la partie réservée à WORD (en VBA ou non) :

    http://www.developpez.net/forums/f54...t-office/word/

    Désolé de ne pouvoir t'aider plus ...

    Cordialement

  25. #20
    Nessie37

    Re : Macro WORD: cacher texte

    Bonjour,

    Je suis désolée mais je reviens à la charge ici.
    J'ai beau étudier les codes de l'exemple de Mécano41, je ne vois pas comment appliquer cela chez moi.

    J'ai 2 paragraphes (composés de textes écrits et de champs calculés) que je souhaite voir disparaître selon un critère sélectionné dans une liste déroulante.

    Est-ce possible ? Si oui comment le faire ? Je voudrais bien me baser sur l'exemple Toto mais je n'y arrive pas.

    Aidez-moi s'il vous plait car je tourne en rond.

    D'avance merci

  26. #21
    mécano41

    Re : Macro WORD: cacher texte

    Bonjour,

    Il faudrait mettre un fichier (Word compressé en.zip) en supprimant les choses inutiles et en mettant des noms propres bidons s'il y a lieu et j'essaierai de voir ce que je peux faire ...

    Questions :

    - est-ce que le fichier du message #11 fonctionne chez toi?

    - (si c'est un problème de champs, as-tu essayé de mettre des champs dans ce fichier #11?

    Cordialement

  27. #22
    Nessie37

    Re : Macro WORD: cacher texte

    Bonjour,

    Voici le fichier que j'avais préparé et que j'ai oublié de joindre.

    Oui, ton fichier fonctionne chez moi mais je n'arrive pas à appliquer ton code à mon cas.

    D'avance merci
    Fichiers attachés Fichiers attachés

  28. #23
    mécano41

    Re : Macro WORD: cacher texte

    J'ai un premier souci : lorsque j'ouvre ton document, il n'y a aucune liste déroulante...probablement un problème de version : je suis sous Office 2010

    Essaie à tout hasard de l'envoyer en enregistrant sous un format antérieur de WORD...

    J'ai de toute façon un problème ; dans un fichier vierge, j'arrive à créer une liste mais je n'arrive pas ensuite à utiliser l'événement VBA Liste1_Change ... et comme c'est de plus en plus mal documenté...

    Cordialement

  29. #24
    Nessie37

    Re : Macro WORD: cacher texte

    Bonjour,

    Mon premier envoi était en word 2007.
    je viens de l'enregsitrer au format 2003 (format de création à la base)

    Le voici
    Fichiers attachés Fichiers attachés

  30. Publicité
  31. #25
    mécano41

    Re : Macro WORD: cacher texte

    Toujours rien...

    Désolé. J'ai cherché pour recréer et exploiter la liste mais je n'y arrive pas...

    Pose la question sur le forum que je t'avais indiqué 'en mettant ton fichier exemple et en précisant la version.

    Cordialement

  32. #26
    Nessie37

    Re : Macro WORD: cacher texte

    Déjà fait mais je n'ai pas eu de réponse qui fonctionne totalement et je ne veux pas être lourde. ce n'était pas pour le même travail mais similaire
    Je fréquente ce forum depuis longtemps.

    Alors peux-tu simplement me guider pour ton code dans le doc Toto ?
    Code:
    Private Sub CheckBox1_Click()
    If Not ActiveDocument.ProtectionType = wdNoProtection Then
        ActiveDocument.Unprotect
    End If
    Selection.GoTo What:=wdGoToBookmark, Name:="para1"
    If CheckBox1.Value = True Then
        ActiveDocument.Bookmarks("para1").Range.Style = wdStyleNormal
    Else
        ActiveDocument.Bookmarks("para1").Range.Style = "Monstyle"
    End If
    ActiveDocument.Protect wdAllowOnlyFormFields
    
    End Sub
    
    Private Sub CheckBox2_Click()
    If Not ActiveDocument.ProtectionType = wdNoProtection Then
        ActiveDocument.Unprotect
    End If
    Selection.GoTo What:=wdGoToBookmark, Name:="para2"
    If CheckBox2.Value = True Then
        ActiveDocument.Bookmarks("para2").Range.Style = wdStyleNormal
    Else
        ActiveDocument.Bookmarks("para2").Range.Style = "Monstyle"
    End If
    ActiveDocument.Protect wdAllowOnlyFormFields
    End Sub
    A quoi ActiveDocument.Bookmarks("para 2").Range.Style = wdStyleNormal correspond ?

    car j'ai beau retourner le doc dans tous les sens, je ne vois pas comment Toto fait pour apparaître / disparaitre quand tu cohces / décoches.
    Je ne comprends pas le code.

    D'avance merci
    Dernière modification par Nessie37 ; 21/11/2014 à 15h50.

  33. #27
    Nessie37

    Re : Macro WORD: cacher texte

    Et si je procédais ainsi :
    je décide mettre mes paragraphes sous forme de signet ou de champs. Est-il possible que dans le signet il y ait des signet avec calcul ?

    Si oui, je nomme mes signets para1 et para2 puis je colle une macro sur la liste déroulante avec un truc du style

    Sub buidule ()

    Select Case ActiveDocument.FormFields("bie n").Result
    Case "LSDE"
    ActiveDocument.Bookmarks("para 1").Hidden = true

    End sub

    Ou un truc dans ce genre.
    Je ne maître pas les syntaxes, j'ai bidouillé avec ce que j'ai pu rencontré au cours de mes recherches...

    Qu'en penses-tu ?
    Dernière modification par Nessie37 ; 21/11/2014 à 16h03.

  34. #28
    mécano41

    Re : Macro WORD: cacher texte

    Pour le fichier TOTO1, l'explication du code est indiquée ci-dessous pour chaque ligne du premier sub ; mais auparavant il faut savoir :

    - qu'un signet "para1" a été placé en tête du paragraphe 1
    - qu'un signet "para2" a été placé en tête du paragraphe 2
    - qu'un style "MonStyle" a été crée et que celui-ci prend en compte le masquage du paragraphe auquel il s'applique

    Code:
    Private Sub CheckBox1_Click()                                                               ' Sur un click de la checkbox
    If Not ActiveDocument.ProtectionType = wdNoProtection Then
        ActiveDocument.Unprotect                                                                  ' Déprotection du document s'il est protégé
    End If
    Selection.GoTo What:=wdGoToBookmark, Name:="para1"                        ' Place le curseur dans §1 (où est le signet "para1")
    If CheckBox1.Value = True Then                                                              ' Si la checkbox est cochée
        ActiveDocument.Bookmarks("para1").Range.Style = wdStyleNormal       ' On met le paragraphe au style Normal (donc visible)
    Else                                                                                                       ' Si la checkbox est décochée
        ActiveDocument.Bookmarks("para1").Range.Style = "Monstyle"             ' On met le paragraphe au style MonStyle (donc caché)
    End If
    ActiveDocument.Protect wdAllowOnlyFormFields                                      ' On reprotège le document

    L'événement déclencheur étant le changement dans la listbox, je pensais qu'en remplaçant :

    Private Sub CheckBox1_Click par Private Sub Liste1_Change() (Liste1 étant le nom de la liste), le déclenchement se ferait mais je n'y suis pas parvenu...ensuite il suffirait d'ajouter un If Liste1.Value="LSDE" then ....End IF et ajouter une partie de code identique à Selection.Goto...End If mais avec "para2", avant la reprotection.

    ...mais apparemment cela ne fonctionne pas ainsi...Est-ce dû au fait qu'il s'agit d'une liste directement dans le document et non d'une liste dans une dans une boîte de dialogue...je n'en sais rien...

    Cordialement

  35. #29
    Nessie37

    Re : Macro WORD: cacher texte

    Bonsoir,

    Merci pour ces explications et pour avoir le temps de les donner.

    Pour info, je n'ai pas le détail sinon, tu penses bien que je n t'aurais pas embêté. Je suis désolée.

    En tout cas, je vais potasser cela gentiment.

    Merci bcp.

  36. #30
    Nessie37

    Re : Macro WORD: cacher texte

    Citation Envoyé par mécano41 Voir le message

    ...mais apparemment cela ne fonctionne pas ainsi...Est-ce dû au fait qu'il s'agit d'une liste directement dans le document et non d'une liste dans une dans une boîte de dialogue...je n'en sais rien...

    Cordialement
    Bonne question. Sur le forum developpez, j'avais posté pour quelque chose de similaire et on m'avait proposé la solution du font.Hiden. basé sur un champ liste comme dans mon cas et non un contrôle. ça te parle ?
    C'était assez fastidieux car je prenais ligne par ligne les phrases que je voulais voir apparaître alors si je pouvais mettre tout ça dans un pavé

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Dans WORD, texte horizontal + texte vertical comment ?
    Par Cornemuse dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 24/01/2010, 06h28
  2. Cherche petite macro word
    Par azeto dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 18/09/2007, 07h03
  3. M'aider à créer une petite macro sous word ou excel
    Par azeto dans le forum Logiciel - Software - Open Source
    Réponses: 29
    Dernier message: 16/04/2007, 12h12
  4. Macro Word
    Par Eric78 dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 20/02/2005, 20h13
  5. inverser du texte dans word
    Par usul dans le forum Logiciel - Software - Open Source
    Réponses: 10
    Dernier message: 23/03/2004, 20h05
Découvrez nos comparatifs produits sur l'informatique et les technologies.