MACRO - Ranger les valeurs d'une checkbox userform dans des cellules

Lala2014

XLDnaute Nouveau
Bonjour,
j'ai créé un userform avec des checkbox dans le but de récupérer les valeurs cochées dans des cellules (A1:A4)
mais ma macro ne marche que partiellement, pourriez-vous m'aider svp ?
Il faut cliquer sur le bouton Sélectionner dans le fichier joint pour déclencher le userform.
Merci ...
Lala.
 

Pièces jointes

  • TEST FORMULAIRE 2.xls
    51.5 KB · Affichages: 25

Robert

XLDnaute Barbatruc
Repose en paix
Re : MACRO - Ranger les valeurs d'une checkbox userform dans des cellules

Bonjour Lala, bonjour le forum,

J'ai rajouté aux Checkboxes la proriété [Tag] qui correspond au numéro de ligne (CheckBox1.Tag = 1, CheckBox2.Tag = 2, etc.).
Le code :

Code:
Private Sub CommandButton1_Click()
Dim Ctrl As Control

For Each Ctrl In Me.Controls
    If TypeOf Ctrl Is MSForms.CheckBox Then
        If Ctrl.Value = True Then Cells(CInt(Ctrl.Tag), 1).Value = Ctrl.Caption Else Cells(CInt(Ctrl.Tag), 1).Value = ""
    End If
Next Ctrl
End Sub
Le fichier :
 

Pièces jointes

  • Lala_v01.xls
    52.5 KB · Affichages: 30

13GIBE59

XLDnaute Accro
Re : MACRO - Ranger les valeurs d'une checkbox userform dans des cellules

Bonjour lala, bonjour Robert,

On peut sûrement améliorer mon code, mais je te propose ceci en pièce jointe.
 

Pièces jointes

  • TEST FORMULAIRE lala.xls
    52 KB · Affichages: 40

Lala2014

XLDnaute Nouveau
Re : MACRO - Ranger les valeurs d'une checkbox userform dans des cellules

Merci Robert, c'est exactement ça
Le seul problème c'est que j'ai une dizaine de checkbox en réalité (j'ai simplifié pour la demande je n'en ai mis que 4)
et avec cette macro quand j'en ajoute une dans le userform, la nouvelle (donc 5ème) se range dans la cellule A4 et le niveau expert (4ème) ne se range plus du tout... (par contre les 3 premières se rangent toujours correctement)
A quel niveau faut-il modifier la macro pour que les nouvelles checkbox que je dois ajouter dans le userform soient prises en compte et que les valeurs se rangent en A5, A6...

Private Sub CommandButton1_Click()
Dim Ctrl As Control

For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.CheckBox Then
If Ctrl.Value = True Then Cells(CInt(Ctrl.Tag), 1).Value = Ctrl.Caption Else Cells(CInt(Ctrl.Tag), 1).Value = ""
End If
Next Ctrl
End Sub

13GIBE59 : merci pour ta macro ce n'était pas ce que je recherchais mais elle pourra m'être utile ;)
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : MACRO - Ranger les valeurs d'une checkbox userform dans des cellules

Bonjour le fil, bonjour le forum,

Tu as lu mon premier post ? Je doute !
Je t'y expliquais que j'avais rajouté une valeur à la propriété [Tag] de chaque CheckBox. Cette valeur correspond au numéro de ligne dans lequel est renvoyé la [Capion] de la CheckBox.
Donc, si tu rajoutes des CheckBoxes il faut que tu modifies la propriété [Tag] de celles-ci en leur donnant la valeur correspondant à la ligne :
CheckBox1.Tag = 1 (ligne 1 du tableau)
CheckBox2.Tag = 2 (ligne 2 du tableau)
CheckBox3.Tag = 3 (ligne 3 du tableau)
CheckBox4.Tag = 4 (ligne 4 du tableau)
CheckBox5.Tag = 5 (ligne 5 du tableau)
Le code récupère la ligne avec : Cells(Cint(Ctrl.Tag), 1)

Si tu as la flemme de lire je ne peux rien pour toi
...
 

Lala2014

XLDnaute Nouveau
Re : MACRO - Ranger les valeurs d'une checkbox userform dans des cellules

Non j'ai pas la flême de lire mais j'étais tellement ravie du résultat que j'ai cherché par moi même la suite sans relire le message...désolée ça fonctionne parfaitement extra merci beaucoup!
 

Discussions similaires

Réponses
26
Affichages
378

Statistiques des forums

Discussions
312 196
Messages
2 086 097
Membres
103 116
dernier inscrit
kutobi87