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'hui1603
Hier1747
Cette semaine6779
Ce mois26072
Total depuis 200418228612

9
visiteurs actuellement en ligne

18 avril 2024