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
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.
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.
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: