HTML Checkbox

Bonjour,

j'arrive à faire le lien entre une checkbox que j'ai inséré moi-même mais avec une checkbox venant d'une page html je suis bloqué avec le code (voir fichier).

je cherche à faire un lien entre la checkbox html et une cellule de façon automatique.

=IF(C1=TRUE;"Y";"0")

J'ai un grand nombre de questions choix multiple venant d'ancien fichier HTML (parfois jusqu'à 500 QCM html).

J'essaye les 3 codes suivant mais il manque sûrement qqch

Merci

pour un checked box que je crée

Sub LinkCheckBoxes()
Dim chk As CheckBox
Dim Ws As Worksheet
Set Ws = ActiveSheet
For Each chk In ws.CheckBoxes
  With chk
    .LinkedCell = _
      .TopLeftCell.Address
  End With
Next chk

End Sub

ou

Sub LinkCheckBoxesOffset()
Dim chk As CheckBox
Dim Ws As Worksheet
Set Ws = ActiveSheet
For Each chk In ws.CheckBoxes
  With chk
    .LinkedCell = _
      .TopLeftCell.Offset(0, -2).Address
  End With
Next chk

End Sub

pour une check box de la page html

Sub GetCheckBoxValues()

    Dim colCheckboxValues As Collection

    Set colCheckboxValues = GetCheckBoxValuesFromSheet(Sheet1)

    Dim lCount As Long

    For lCount = 1 To colCheckboxValues.Count

        Sheet2.Cells(lCount, 1).Value = colCheckboxValues.Item(lCount)(0) 'HTMLName
        Sheet2.Cells(lCount, 2).Value = colCheckboxValues.Item(lCount)(1) 'Value
        Sheet2.Cells(lCount, 3).Value = colCheckboxValues.Item(lCount)(2) 'Checked (or unchecked)

    Next lCount

End Sub

Function GetCheckBoxValuesFromSheet(sht As Worksheet) As Collection

    Const HTMLCheckBoxProgID As String = "Forms.HTML:Checkbox1"

    Dim colCheckBoxes As Collection
    Set colCheckBoxes = New Collection

    Dim oOLEObject As OLEObject

    Dim lCount As Long
    lCount = 0

    For Each oOLEObject In sht.OLEObjects

        If oOLEObject.progID = HTMLCheckBoxProgID Then

            Dim sCheckBoxData(2) As String

            sCheckBoxData(0) = oOLEObject.Object.CheckBox
            sCheckBoxData(1) = oOLEObject.Object.Value
            sCheckBoxData(2) = oOLEObject.Object.Checked

            lCount = lCount + 1

            colCheckBoxes.Add Item:=sCheckBoxData, Key:="CheckBox" & CStr(lCount)

        End If

    Next oOLEObject

    Set GetCheckBoxValuesFromSheet = colCheckBoxes

End Function
26test.xlsx (69.07 Ko)

Bonsoir,

*Opt = OptionButton

Dans le fichier joint, j'ai utilisé les Opt, au lieu des CheckBox, afin de n'avoir qu'une possibilité de réponse. (en supposant qu'il n'y ait qu'une réponse vraie par Question).

Et j'ai utilisé un module de classe, afin de traiter tous les clics.

J'ai inséré chaque Opt dans un GroupName (regarde les propriétés de chaque Opt) en fonction de la question, et le module de classe permet de mettre en colonne D, le "Y", si on clique sur cet Opt, dans la ligne correspondante, et remet à "vide", les autres Opt de ce GroupName.

Si ça t'intéresse.

Bon courage

Edit, je me suis rendu compte que j'avais pas utilisé le bon évènement sur l'Opt...

Voici une v2

Le bouton avec les 2 flèches permet de remettre tout à zéro

26test-opt-mdl-v2.xlsm (101.28 Ko)

Merci Cousinhub,

est-il possible de transformer automatiquement la checkbox importée d'une page HTML en excel?

je reste bloqué avec la checkbox =EMBED("Forms.HTML:Checkbox.1";"").

J'essaye de faire un lien entre la checkbox et la cellule.

Pour info je transfère mes anciennes questions (+/- 700 QCM) HTML de 1999 vers un programme Quizcreator.

Rechercher des sujets similaires à "html checkbox"