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