Macro impression sur word avec contrôle activeX

Résolu
setenza -  
 setenza -
Bonjour,

J'ai inséré des contrôles activex "cases d'option" dans un formulaire à remplir. Ces contrôles sont dans différents tableaux. J'aimerais que les tableaux en question s'affiche à l'impression si je clique sur Oui, et qu'il ne s'affiche pas si je clique sur Non. Comment faire avec une macro par exemple ?

3 réponses

  1. m@rina Messages postés 27551 Date d'inscription   Statut Modérateur Dernière intervention   11 562
     
    Bonsoir,

    Ce que tu peux faire par macro, c'est mettre les tableaux en question au format masqué. Pour les réafficher et donc pouvoir cliquer sur le bouton d'option Non, il faudra d'abord afficher les caractères masqués si ce n'est pas fait.
    Pour l'impression, par défaut, le texte masqué n'est pas imprimé.

    Exemple :

    Private Sub OptionButton1_Change()
    Dim tablo As Table
    Set tablo = Selection.Tables(1)
    tablo.Select
    If OptionButton1 Then
    Selection.Font.Hidden = True
    Else: Selection.Font.Hidden = False
    End If
    End Sub


    Pour mettre le code, tu te mets en Mode Création, et tu double-cliques sur le bouton d'option 1.

    m@rina
    0
  2. setenza
     
    Bonjour et merci m@rina.

    Cela marche très bien, par contre j'ai plusieurs tableaux d'affilé séparés par un saut de ligne. Comme j'applique la macro à chaque tableau, le saut de ligne séparant les différents tableaux restent et décale donc tout le contenu. J'ai essayé d'insérer une ou deux lignes à votre macro mais sans succès. Pouvez vous m'aider ?

    Ps : je suis sur word 2013
    0
    1. m@rina Messages postés 27551 Date d'inscription   Statut Modérateur Dernière intervention   11 562
       
      Bonjour,

      ça se complique ! Est-ce que tous les tableaux sont suivis d'un saut de page ? et est-ce que le saut de page suit directement le tableau sans autre retour paragraphe ?

      m@rina
      0
    2. setenza
       
      Alors, chaque tableau est suivi d'un retour à la ligne (j'avais écrit saut de ligne auparavant). Il n'y a pas de saut de page. Je ne peux pas envoyer le document car c'est un document interne, avec interdiction de diffusion hors du boulot.
      0
  3. m@rina Messages postés 27551 Date d'inscription   Statut Modérateur Dernière intervention   11 562
     
    Bonsoir,

    Désolée, j'avais lu en diagonale pour le saut... de page !

    Essaie ceci :

    Private Sub OptionButton1_Change()
    Dim tablo As Table
    Set tablo = Selection.Tables(1)
    tablo.Select
    With Selection
    .Extend
    .MoveDown unit:=wdLine, Count:=1
    End With
    If OptionButton1 Then
    Selection.Font.Hidden = True
    Else: Selection.Font.Hidden = False
    End If
    Selection.Collapse
    End Sub


    m@rina
    0
    1. setenza
       
      Bonsoir,

      Ca marche parfaitement. Merci beaucoup, ça va me faciliter la vie.
      0