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

  • Initiateur de la discussion Initiateur de la discussion Lala2014
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

Lala2014

Guest
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

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

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 😉
 
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
...
 
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!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour