Word Activer ou Désactiver des options Button dans un Private Sub

sudo

XLDnaute Nouveau
Bonjour à toujours,
débutant sur VBA, j'aimerais rendre certaines taches plus simple afin de simplifier les lignes de codes à saisir.
Mon soucis aujourd'hui est sur L'activation ou la Désactivation des Optionbutton.
sur un document word, j'ai un CheckBox qui , quand il est activé, m'active un certains nombres d'OptionButton.
Voir code ci-dessous

VB:
Private Sub CheckBox5_Click()
If Me.CheckBox5.Value = False Then
        
    Me.CheckBox6.Enabled = False
          
         Me.TextBox30.Enabled = False
         Me.TextBox31.Enabled = False
         Me.TextBox32.Enabled = False
         Me.TextBox33.Enabled = False        
         Me.OptionButton34.Enabled = False
         Me.OptionButton35.Enabled = False
         Me.OptionButton36.Enabled = False
         Me.OptionButton37.Enabled = False
         Me.OptionButton38.Enabled = False
         Me.OptionButton39.Enabled = False
 

Else
    If Me.CheckBox5.Value = True Then
        
Me.CheckBox6.Enabled = True

        
         Me.TextBox30.Enabled = True
            Me.TextBox30.BackColor = &HFFFFFF
         Me.TextBox31.Enabled = True
            Me.TextBox31.BackColor = &HFFFFFF
         Me.TextBox32.Enabled = True
            Me.TextBox32.BackColor = &HFFFFFF
         Me.TextBox33.Enabled = True
            Me.TextBox33.BackColor = &HFFFFFF
'        Me.TextBox34.Enabled = True
'            Me.TextBox34.BackColor = &HFFFFFF
'         Me.TextBox35.Enabled = True
'            Me.TextBox35.BackColor = &HFFFFFF
          
         Me.OptionButton34.Enabled = True
           Me.OptionButton34.BackColor = vbRed
         Me.OptionButton35.Enabled = True
           Me.OptionButton35.BackColor = vbGreen
         Me.OptionButton36.Enabled = True
           Me.OptionButton36.BackColor = vbYellow
         Me.OptionButton37.Enabled = True
           Me.OptionButton37.BackColor = vbRed
         Me.OptionButton38.Enabled = True
           Me.OptionButton38.BackColor = vbGreen
         Me.OptionButton39.Enabled = True
           Me.OptionButton39.BackColor = vbYellow
End If
End If
 
End Sub


j'aimerais que lorsque je l'active par exemple, les OptionButton qui sont propres à cette fonction s'active aussi sans toute le faire pour tous mon document
j'ai pris le code ci-dessous que j'ai pu adapter à un autre document qui ne dispose pas de plusieurs checkbox et cela fonctionne bien.
Code:
Dim ControleEnCours As InlineShape

Private Sub CheckBox1_Click()
If Me.CheckBox1.Value = True Then

            For Each ControleEnCours In ActiveDocument.InlineShapes
        If ControleEnCours.Type = wdInlineShapeOLEControlObject Then
            If ControleEnCours.OLEFormat.ClassType = "Forms.OptionButton.1" Then
             ControleEnCours.OLEFormat.Object.Enabled = True    ' Active tous les OptionButton
            End If
        End If
    Next

  Else   
         If Me.CheckBox1.Value = False Then
      
            For Each ControleEnCours In ActiveDocument.InlineShapes
        If ControleEnCours.Type = wdInlineShapeOLEControlObject Then
            If ControleEnCours.OLEFormat.ClassType = "Forms.OptionButton.1" Then
               ControleEnCours.OLEFormat.Object.Value = False      ' Remet tous les OptionButton à 0
               ControleEnCours.OLEFormat.Object.Enabled = False    ' Désactive tous les OptionButton
            End If
        End If
    Next
 
        End If
End If
End Sub

je ne sais pas comment adapter le ActiveDocument.InlineShapes ou sur quel paramètres jouer pour l'utiliser dans un Private Sub CheckBox1 et que cela n'affecte pas par exemple le Private Sub CheckBox2.

Merci d'avance.
 
Dernière édition:

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh