user_mobilelogo

Vote utilisateur: 5 / 5

Etoiles activesEtoiles activesEtoiles activesEtoiles activesEtoiles actives
 

C'est tout à fait possible à l'aide d'une macro.

Voici comment procéder avec un contrôle de contenu de liste déroulante (à partir de la version 2007) :

  1. Dans un document, insérez un contrôle de contenu de liste déroulante (Onglet Développeur, groupe Contrôles).
    Donnez-lui un titre ou une balise qui puisse le rendre unique.

  2. Insérez votre zone de texte et, de préférence, renommez-la avec un nom simple : zdt1 dans mon exemple. 

  3. Rendez-vous dans le VBE, et créez votre macro événementielle sur la sortie. Voyez cet article.

 

La macro suivante insère un texte différent dans la zone de texte zdt1 selon la saison choisie dans la liste déroulante nommée "Saisons". La taille de la zone de texte sera ajustée en fonction du texte.

 

 Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
'macro écrite par m@rina

Dim texte As String
Dim choix As String
choix = CC.Range.Text

If CC.Title = "Saisons" Then

Select Case choix
Case "Printemps"
 texte = "Le printemps commence avec l'équinoxe de printemps qui arrive autour du 21 mars."
Case "Été"
 texte = "L'été se situerait entre le 1er juin et le 31 août."
Case "Automne"
 texte = "L'automne démarre à l'équinoxe de septembre qui a lieu aux alentours du 21/23 septembre. "
Case "Hiver"
 texte = "L'hiver commence au solstice d'hiver qui correspond au jour le plus court de l'année, le solstice d'hiver se produit autour du 21 décembre. "
End Select

With ActiveDocument.Shapes("zdt1").TextFrame
    .TextRange.Text = texte
    .AutoSize = True
End With
End If
End Sub

 

Pour que cette macro se déclenche, vous devez faire le choix dans la liste déroulante, puis en sortir, c'est-à-dire en cliquant ailleurs.

Statistiques

Aujourd'hui97
Hier1500
Cette semaine97
Ce mois37060
Total depuis 200411148656

4
visiteurs actuellement en ligne