¿Cómo recuperar los datos de las casillas de verificación?

Resuelto
Mr Boushido Mensajes publicados 6 Estado Miembro -  
eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   -
Bonjour,

me gustaría que cuando un usuario haga clic o doble clic (no importa) en una celda, aparezca un UserForm con aproximadamente quince casillas de verificación y un botón de validar que luego recupere los valores de estas casillas de verificación (pero atención, no quiero que se muestre Verdadero o Falso... ve abajo) para mostrar estos valores en esa misma celda (además me gustaría que la celda se adapte según el número de valores).

Los valores son algo así:
checkbox1 "Conforme"
checkbox2 "No conforme"
checkbox3 "Rayura"
checkbox4 "Rayura profunda"
checkbox5 "etc..."
' '
' '
' '

Aquí hay un ejemplo de mi botón de validar que no funciona (jaja, estoy empezando)

Private Sub Valider_Click()
Dim i As Integer

For i = 1 To 14

If Me.CheckBox(i).Top = True Then
ActiveCell = CaseCoche.CheckBox(i).Value

End If
CaseCoche.Hide
Next i
End Sub

Gracias por explicarme cómo hacerlo.

Cordialmente

8 respuestas

  1. f894009 Mensajes publicados 17417 Fecha de registro   Estado Miembro Última intervención   1 717
     
    Re,

    de donde mi pregunta Enlace (#3):

    ActiveCell = CaseCoche.CheckBox(i).Value (aunque el código esté mal) Dado que tienes casillas de verificación, ¿por qué escribir solo en una celda?

    un ejemplo de código para poner en el VBA del Userform: (aquí dos casillas de verificación, pero código a escribir para las 12 restantes) escribir en hoja1 A1 a A14 según lo marcado

    Dim ValCheck(14)

    Private Sub checkbox1_click()
    If CheckBox1 Then
    ValCheck(0) = "Conforme"
    Else
    ValCheck(0) = ""
    End If
    End Sub

    Private Sub checkbox2_click()
    If CheckBox2 Then
    ValCheck(1) = "No Conforme"
    Else
    ValCheck(1) = ""
    End If
    End Sub

    Private Sub Valider_Click()
    Dim i As Integer, point As Byte

    With Worksheets("feuil1")
    point = 1
    .Range("A1:A15").ClearContents
    For i = 0 To 1 '14
    If ValCheck(i) <> "" Then
    .Range("A" & point) = ValCheck(i)
    point = point + 1
    End If
    Next i
    End With
    'CaseCoche.Hide
    End Sub
    1