Il faut plusieurs choses :

  • un bloc de construction contenant le texte à insérer,
  • un signet à l'endroit où devra être inséré le texte,
  • la macro qui suit (à personnaliser),

le tout dans un modèle (Template). Cela signifie que le ou les blocs de construction doivent bien être enregistrés dans le modèle.

Pour tout savoir sur les blocs de construction, c'est ici.

Vous allez ensuite copier coller la macro suivante dans votre modèle, dans ThisDocument, et la personnaliser en fonction de l'endroit où se trouve vos modèles, et en fonction de l'ID de la case à cocher :

  • Remplacez la série des 0000000000 par l'ID du contrôle (voir cet article)
  • Remplacez le nom du signet "tablo" par le vôtre.
  • Remplacez le chemin du Template par le vôtre (("C:\Users\utilisateur\Documents\Modèles Office personnalisés\exemple.dotm")
  • Remplacez le nom du bloc de construction 'tablo2" par le vôtre.

Il suffira de cocher la case et d'en sortir pour que le texte s'insère à l'endroit prévu. 

 

Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Templates.LoadBuildingBlocks
'Remplacer la série de 00000000 par l'ID du contrôle
If ContentControl.ID = 0# Then
    If ContentControl.Checked = True Then
        With Selection
            .GoTo What:=wdGoToBookmark, Name:="tablo"
            .MoveRight Unit:=wdCharacter, Count:=1
        End With
        'mettre le chemin du template ci-dessous
        Application.Templates("C:\Users\...\exemple.dotm").BuildingBlockEntries("tablo2").Insert Where:=Selection.Range, RichText:=True
    End If
End If
End Sub

Statistiques

Aujourd'hui2012
Hier2695
Cette semaine4707
Total depuis 20049407719

18
visiteurs actuellement en ligne