user_mobilelogo

Avec une macro, bien entendu.

Voici un exemple de macro pour un document exemple qui contient :

  • Un contrôle de contenu de liste déroulante, avec la balise nommée "liste1".
    Cette liste déroulante contient les noms de continents.

  • Un contrôle de contenu de liste déroulante, avec la balise nommée "liste2". Cette liste est vide et se remplira automatiquement avec les pays, lors du choix dans la liste 1.

La macro devra être copiée et collée dans le VBE, ThisDocument. (Voyez ici si nécessaire). Attention ! Ne changez pas le nom des macros !

Lorsque vous choisirez un continent dans la première liste, la liste des pays concernés sera disponible dans la seconde liste.

Dim Choix As String
Private Sub Document_ContentControlOnEnter(ByVal CC As ContentControl)
If CC.Tag = "liste1" Then Choix = CC.Range.Text
End Sub

Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
Dim i As Long, listes_pays As String
With CC
  If .Tag = "liste1" Then
    If Choix = .Range.Text Then Exit Sub
    Select Case .Range.Text
      Case "Europe"
        listes_pays = "France,Italie,Espagne,Grèce,Portugal"
      Case "Amérique"
        listes_pays = "États-Unis,Canada,Argentine,Mexique,Brésil"
      Case "Afrique"
        listes_pays = "Cameroun,Sénégal,Gabon,Côte d'Ivoire"
    Case "Asie"
        listes_pays = "Japon,Chine,VietNam,Inde"
      Case Else
        .Type = wdContentControlText
        .Range.Text = ""
        .Type = wdContentControlDropdownList
    End Select
    With ActiveDocument.SelectContentControlsByTag("liste2")(1)
      .DropdownListEntries.Clear
      For i = 0 To UBound(Split(listes_pays, ","))
        .DropdownListEntries.Add Split(listes_pays, ",")(i)
      Next
      .Type = wdContentControlText
      .Range.Text = ""
      .Type = wdContentControlDropdownList
    End With
  End If
End With
End Sub
 

 

Statistiques

Aujourd'hui118
Hier2953
Cette semaine11834
Ce mois59831
Total depuis 200412417816

4
visiteurs actuellement en ligne

25 septembre 2020