• Comment générer du faux texte ?

  • Bonjour les Quickparts, adieu les Insertions Auto !

  • Accentuer les majuscules

  • A quoi sert l'ancre qui s'affiche quelquefois dans la marge gauche ?

  • La justification laisse de trop grands blancs entre les mots

  • Comment créer un bouton qui envoie le fichier en cours ?

  • Comment faire plusieurs références à une même note de bas de page ?

  • PowerPoint et les fichiers MP3

  • Comment faire pour qu'une macro démarre toute seule ?

 
 

Liste déroulante qui dépend de cases à cocher

Dans un document Word, je souhaite avoir une liste déroulante dont le contenu dépend de cases à cocher.

Si la case à cocher A est activée, la liste déroulante doit contenir les données A.
Si la case à cocher B est activée, la liste déroulante doit contenir les données B.
etc.

Cet exemple a été bâti avec des contrôles ActiveX.

Il faut bien entendu une macro que voici, à mettre dans l'éditeur Visual Basic, dans ThisDocument.

On va commencer par créer autant de listes qu'on a de cases à cocher (3 dans mon exemple) :

Sub listeA()
'création liste A
With ComboBox1
.AddItem "choux"
.AddItem "navets"
.AddItem "carottes"
End With
End Sub

 


Sub listeB()
'Création liste B
With ComboBox1
.AddItem "oranges"
.AddItem "pommes"
.AddItem "cerises"
End With
End Sub

 


Sub listeC()
'Création liste C
With ComboBox1
.AddItem "chocolat"
.AddItem "guimauve"
.AddItem "bonbons"
End With
End Sub 



Une fois toutes les listes créées, on va créer une macro qui se déclenchera lorsque la liste déroulante prendra le focus. Cette dernière se remplira en fonction de l'état des cases à cocher.

Private Sub ComboBox1_GotFocus()
'macro écrite par m@rina
'lorsque la liste déroulante prend le focus
'on commence par la vider
ComboBox1.Clear

'puis on la remplit en fonction des cases à cocher
If CheckBox1.Value = True Then Call listeA
If CheckBox2.Value = True Then Call listeB
If CheckBox3.Value = True Then Call listeC

'si aucune case à cocher n'est cochée, on vide la liste déroulante
If CheckBox1.Value = False And CheckBox2.Value = False And CheckBox3.Value = False Then
ComboBox1.Clear
End If
End Sub


 
 
 
 

Statistiques

3084955
Aujourd'hui247
Hier2057
Cette semaine11878
Ce mois-ci45058
Depuis janvier 20043084955
Compteur d'affichages des articles
6007119

A lire de toute urgence...

Qui est en ligne ?

Nous avons 40 invités et aucun membre en ligne