Word 2016 : TextBox obligatoire si OptionBouton sélectionné

Messages postés
2
Date d'inscription
vendredi 28 juin 2019
Statut
Membre
Dernière intervention
28 juin 2019
- - Dernière réponse : thev
Messages postés
1771
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
29 juin 2019
- 29 juin 2019 à 18:48
Bonjour à tous,

Dans un formulaire Word, je souhaiterai rendre certains champs obligatoires en fonction de l'optionbouton sélectionné.

J'ai 4 optionbouton. Selon le choix, le formulaire ne change pas mais uniquement l'obligation de remplir tel ou tel champ (textbox et combobox).

Auriez-vous un petit code VBA pour rendre obligatoires des textbox et combobox en fonction de la sélection d'un optionbouton svp ?

Je pourrais ensuite l'adapter pour les autres optionbouton.

Vous en remerciant par avance !
Afficher la suite 

3 réponses

Messages postés
2
Date d'inscription
vendredi 28 juin 2019
Statut
Membre
Dernière intervention
28 juin 2019
0
Merci
La vérification des champs doit-elle se faire uniquement par un bouton ? car je n'en ai pas dans mon formulaire...
Commenter la réponse de Mecton77
Messages postés
6298
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
22 octobre 2019
405
0
Merci
Bonjour,

voir ceci

https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-C

ensuite tu mets la propriété Enabled à True ou False de tes TextBox et ComboBox en fonction de tes
OptionButton

TextBox1.Enabled = True

Commenter la réponse de cs_Le Pivert
Messages postés
1771
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
29 juin 2019
364
0
Merci
Bonjour,

ci-dessous exemple de code pour des contrôles ActiveX
Sub contrôle_remplissage()
    Dim champ As Field
    Dim ctrl As Object
    Dim boutons_option As New Collection
    Dim zones_texte As New Collection
    Dim listes_déroulantes As New Collection
   
    '// stockage des contrôles ActiveX dans leurs collection respectives
    For Each champ In ActiveDocument.Fields
        Set ctrl = champ.OLEFormat.Object
        If TypeOf ctrl Is MSForms.OptionButton Then boutons_option.Add ctrl, ctrl.Name
        If TypeOf ctrl Is MSForms.TextBox Then zones_texte.Add ctrl, ctrl.Name
        If TypeOf ctrl Is MSForms.ComboBox Then listes_déroulantes.Add ctrl, ctrl.Name
    Next champ
   
    '// contrôle remplissage zones de texte et listes déroulantes
    If boutons_option("OptionButton1") = True And zones_texte("TextBox1") = Empty Then MsgBox "Veuillez remplir la zone xx ": Exit Sub


End Sub

Commenter la réponse de thev