Macro impression sur word avec contrôle activeX

Résolu
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. Modérateur
    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
    1. 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. Modérateur
        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. 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
    2. Modérateur
      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. Bonsoir,

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