Botón de opción en un Frame devuelve valor diferente
Resuelto
Lili
-
Lili -
Lili -
Hola,
estoy trabajando en un proyecto de formulario de gestión del tiempo. así que he creado un formulario en el que hay un frame con 3 opciones (soy principiante en VBA)
el usuario tiene la opción entre el primer botón correspondiente a tiempo completo, el segundo a tiempo parcial reducción semanal y el último a tiempo parcial reducción diaria.
según el botón elegido quiero que el valor devuelto en una hoja de Excel sea TP para tiempo completo, Redh para reducción semanal y Redj para reducción diaria (lo que es diferente del valor caption de cada botón registrado al inicio).
al principio mi código era así
lo que funciona muy bien pero los valores devueltos son: Temps plein (en lugar de TP), réduction hebdomadaire (en lugar de Redh)…
al buscar un poco entendí que debía incorporar las siguientes líneas
pero no sé dónde colocarlas y no funciona :(
estoy seguro de que casi lo logro pero no puedo, necesito un pequeño empujón POR FAVOR.
Gracias mucho
Configuración: Windows / Internet Explorer 11.0
estoy trabajando en un proyecto de formulario de gestión del tiempo. así que he creado un formulario en el que hay un frame con 3 opciones (soy principiante en VBA)
el usuario tiene la opción entre el primer botón correspondiente a tiempo completo, el segundo a tiempo parcial reducción semanal y el último a tiempo parcial reducción diaria.
según el botón elegido quiero que el valor devuelto en una hoja de Excel sea TP para tiempo completo, Redh para reducción semanal y Redj para reducción diaria (lo que es diferente del valor caption de cada botón registrado al inicio).
al principio mi código era así
Private Sub Commandbutton1_Click() temp = "" For Each c In Me.Frame1.Controls If c.Value = True Then temp = c.Caption End If Next c Sheets("Effectifs").Cells(Ligne, 7) = temp End Sub lo que funciona muy bien pero los valores devueltos son: Temps plein (en lugar de TP), réduction hebdomadaire (en lugar de Redh)…
al buscar un poco entendí que debía incorporar las siguientes líneas
Private Sub Frame1_Click() If OptionButton1.Value = True Then temp = "TP" If OptionButton2.Value = True Then temp = "Redh" If OptionButton3.Value = True Then temp = "RedJ" End If End Sub
pero no sé dónde colocarlas y no funciona :(
estoy seguro de que casi lo logro pero no puedo, necesito un pequeño empujón POR FAVOR.
Gracias mucho
Configuración: Windows / Internet Explorer 11.0
3 respuestas
Hola Lili,
Archivo Excel 2007: https://mon-partage.fr/f/tIU1LzBw/
Alt F11 para ver la macro, y luego volver a Excel
Saludos
Archivo Excel 2007: https://mon-partage.fr/f/tIU1LzBw/
Alt F11 para ver la macro, y luego volver a Excel
Saludos
Hola,
Dos opciones.
1- ¿quieres conservar tu botón de comando para validar:
Private Sub CommandButton1_Click() With Sheets("Effectifs") Select Case True Case OptionButton1: .Cells(Ligne, 7) = "TP" Case OptionButton2: .Cells(Ligne, 7) = "Redh" Case OptionButton3: .Cells(Ligne, 7) = "RedJ" End Select End With End Sub
2- ¿puedes prescindir del botón:
Private Sub OptionButton1_Click() If OptionButton1 Then Sheets("Effectifs").Cells(Ligne, 7) = "TP" End Sub Private Sub OptionButton2_Click() If OptionButton2 Then Sheets("Effectifs").Cells(Ligne, 7) = "Redh" End Sub Private Sub OptionButton3_Click() If OptionButton3 Then Sheets("Effectifs").Cells(Ligne, 7) = "RedJ" End Sub
Como prefieras...
--
Cordialmente,
Franck