Checkboxes sur Word
Bonjour,
Une fois de plus, j'ai besoin de vous! J'espère pouvoir trouver de l'aide ici même si ma demande concerne plutôt Word.
Je m'adresse quand même à ce forum parce que j'ai confiance en lui et je suis content des précédentes aides.
Alors, je travaille actuellement sur un fichier Word qui présente une liste d'instructions. En face de chaque instruction il y a une checkbox. Ainsi l'utilisateur, à chaque fois qu'il respecte une instruction, pourra cliquer sur la checkbox pour la valider. A la fin du document, il y a un tableau à 2 colonnes: l'une comportant la liste des instructions. L'autre montre quelles instructions ont été vérifiées précédemment par l'utilisateur.
J'ai mis un exemple en pièce jointe. J'espère que ce que je demande est possible. Je connais un peu VBA mais sur Excel pas Word.... j'avais l'habitude du système de cellulles mais là sur Word je me retrouve un peu perdu ...
I need you please. Je vous remercie ne serait-ce du temps que vous prenez pour lire ma demande. Merci vraiment!
Bonjour et bonne année 2016, 2026,
Si pas mort...
Option Explicit
Sub IdentifierLesInlineshapeEtMettreAJourLeTableau()
Dim DocEnCours As Document
Dim I As Integer
Dim ControleEncours As InlineShape, Controle1 As Object
Dim NomDuControle As String
Dim LaTable As Table
Application.ScreenUpdating = False
Set DocEnCours = ActiveDocument
With DocEnCours
Set LaTable = .Tables(1)
For I = 1 To .InlineShapes.Count
With .InlineShapes(I).OLEFormat
If Mid(.Object.Name, 1, 8) = "CheckBox" Then
Set Controle1 = .Object
MettreAJourLeTableau Controle1.Caption, Controle1, LaTable
Set Controle1 = Nothing
End If
End With
Next I
End With
Set DocEnCours = Nothing
Application.ScreenUpdating = True
End Sub
Sub MettreAJourLeTableau(ByVal Instruction As String, ByVal ValeurCheckBox As Boolean, ByVal LaTable2 As Table)
Dim I As Integer
Dim LaColonne1 As Column, LaColonne2 As Column
With LaTable2
Set LaColonne1 = .Columns(1): Set LaColonne2 = .Columns(2)
End With
With LaColonne1
For I = 1 To .Cells.Count
With .Cells(I).Range
If InStr(1, .Text, Instruction, vbTextCompare) > 0 Then
With LaColonne2.Cells(I).Range
.Text = ""
.Collapse Direction:=wdCollapseStart
If ValeurCheckBox = True Then
.InsertSymbol CharacterNumber:=252, Font:="Wingdings", Unicode:=True
End If
End With
End If
End With
Next I
End With
Set LaColonne1 = Nothing: Set LaColonne2 = Nothing
End SubDans ThisDocument
Option Explicit
Private Sub CheckBox1_Click()
IdentifierLesInlineshapeEtMettreAJourLeTableau
End Sub
Private Sub CheckBox2_Click()
IdentifierLesInlineshapeEtMettreAJourLeTableau
End Sub
Private Sub CheckBoxN_Click()
IdentifierLesInlineshapeEtMettreAJourLeTableau
End Sub