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 ?
A voir également:

3 réponses

m@rina Messages postés 23885 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 
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
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
m@rina Messages postés 23885 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 
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
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
m@rina Messages postés 23885 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 
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
setenza
 
Bonsoir,

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