Reporter valeurs checkbox cochés sur feuille VBA
Résolu
Kayna.86
Messages postés
42
Date d'inscription
Statut
Membre
Dernière intervention
-
Kayna.86 Messages postés 42 Date d'inscription Statut Membre Dernière intervention -
Kayna.86 Messages postés 42 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à tous,
Une fois de plus je viens solliciter l'aide de la communauté :-).
Je bloque sur des lignes de codes depuis un moment.
Ce que j'essaie de faire:
J'ai un userform qui contient plusieurs checkbox. Je souhaiterais que les valeurs des checkbox cochés se reportent ligne après ligne, dans la colonne d'une feuille excel, prévue à cet effet.
Je me suis inspiré des différents forums et je suis parvenu à pondres les lignes de codes suivantes:
Private CommandButton1_Click()
Dim i As Integer, J As Integer, Ctrl As Control
ActiveSheet.Range("E24").Select 'la cellule dans laquelle la 1ère valeur cochée sera reportée'
1- Je compte le nombre de checkbox cochés:
For Each Ctrl In Userform1.Controls
If TypeName(Ctrl) = "CheckBox" Then
If Ctrl.Value = True Then
i = i + 1
End If
End If
Next Ctrl
2- Je reporte la valeur de chaque checkbox cochés, dans la cellule E24, puis E25, etc.
For J = 1 To i
For Each Ctrl In Userform.Controls
If TypeName(Ctrl) = "CheckBox" Then
If Ctrl.Value = True Then
ActiveCell.Offset(J - 1, 0) = Ctrl.Value
End If
End If
Next J
End Sub
Je me rends bien compte que la seconde partie de mon code est "bancale", mais je n'ai trouvé mieux.
Est ce que quelqu'un peu m'aider? :-)
Une fois de plus je viens solliciter l'aide de la communauté :-).
Je bloque sur des lignes de codes depuis un moment.
Ce que j'essaie de faire:
J'ai un userform qui contient plusieurs checkbox. Je souhaiterais que les valeurs des checkbox cochés se reportent ligne après ligne, dans la colonne d'une feuille excel, prévue à cet effet.
Je me suis inspiré des différents forums et je suis parvenu à pondres les lignes de codes suivantes:
Private CommandButton1_Click()
Dim i As Integer, J As Integer, Ctrl As Control
ActiveSheet.Range("E24").Select 'la cellule dans laquelle la 1ère valeur cochée sera reportée'
1- Je compte le nombre de checkbox cochés:
For Each Ctrl In Userform1.Controls
If TypeName(Ctrl) = "CheckBox" Then
If Ctrl.Value = True Then
i = i + 1
End If
End If
Next Ctrl
2- Je reporte la valeur de chaque checkbox cochés, dans la cellule E24, puis E25, etc.
For J = 1 To i
For Each Ctrl In Userform.Controls
If TypeName(Ctrl) = "CheckBox" Then
If Ctrl.Value = True Then
ActiveCell.Offset(J - 1, 0) = Ctrl.Value
End If
End If
Next J
End Sub
Je me rends bien compte que la seconde partie de mon code est "bancale", mais je n'ai trouvé mieux.
Est ce que quelqu'un peu m'aider? :-)
A voir également:
- Vba case à cocher dans feuille excel
- Feuille de score belote excel - Forum Excel
- Case à cocher word ✓ - Forum Word
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Case à cocher open office - Forum LibreOffice / OpenOffice