Comment récupérer les données des cases à cocher ? [Résolu/Fermé]

Signaler
Messages postés
6
Date d'inscription
jeudi 27 février 2014
Statut
Membre
Dernière intervention
3 mars 2014
-
Messages postés
23379
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 juillet 2020
-
Bonjour,

j'aimerai que lorsqu'un utilisateur clic ou double clic (peu importe) sur une cellule un UserForm apparaisse avec dedans des case à cocher (environ une quinzaine), et un bouton valider qui ensuite va récupérer les valeurs de ces checkbox ( mais attention je ne veut pas que sa m'affiche Vrai ou Faux... voir ci-dessous) pour afficher ces valeurs dans cette cellule même ( en passant j'aimerai que la cellule s'adapte en fonction du nombre de valeurs).

Les valeurs ressemble à ça :
checkbox1 "Conforme"
checkbox2 "Non conforme"
checkbox3 "Rayure"
checkbox4 "Rayure profonde"
checkbox5 "etc..."
' '
' '
' '

Voici par exemple mon bouton valider qui ne marche pas (lol je débute)

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


Merci de m'expliquer comment faire .

Cordialement

8 réponses

Messages postés
15238
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 juin 2020
1 306
Re,

d'ou ma question Lien (#3):

ActiveCell = CaseCoche.CheckBox(i).Value (meme si le code est faut) Vu que vous avez des checkboxs, pourquoi une seule cellule a ecrire ???

un exemple de code a mettre dans le VBA de l'Userform: (ici deux checkbox, mais code a ecrire pour les 12 autres) ecriture feuille1 A1 a A14 suivant coche

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) = "Non 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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61998 internautes nous ont dit merci ce mois-ci

Messages postés
15238
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 juin 2020
1 306
Bonjour,

Les valeurs ressemble à ça : Ou sont ecrites ces "valeurs" ????
Messages postés
6
Date d'inscription
jeudi 27 février 2014
Statut
Membre
Dernière intervention
3 mars 2014

Dans le UserForm :
private sub checkbox1_click()
private sub checkbox2_click()
private sub checkbox3_click()
etc...
Messages postés
15238
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 juin 2020
1 306
Bonjour,


Quel excel avez-vous ?????

private sub checkbox1_click() ca c'est l'evenement click lie a une checkbox, il faut une variable pour avoir vos valeurs, ex:

ActiveCell = CaseCoche.CheckBox(i).Value (meme si le code est faut) Vu que vous avez des checkboxs, pourquoi une seule cellule a ecrire ???
Bonjour,

Je suis débutant en macro, je recherche une aide car je suis débutant en macro, j'ai du mal a avoir une aide pourriez vous regarder ma question svp sur ce lien et m'apporter une aide si cela vous est possible?

Cordialement

https://forums.commentcamarche.net/forum/affich-29789530-comparaison-tableaux-excel-en-vba
Messages postés
6
Date d'inscription
jeudi 27 février 2014
Statut
Membre
Dernière intervention
3 mars 2014

Bon la maintenant j'arrive à mettre les valeurs dans mes cellules, mais le problème c'est que je peut en mettre que une seule alors que je veux pouvoir en mettre plusieurs voici mon code:

le bouton validez:

Private Sub Valider_Click()
If CheckBox1 Then
ActiveCell = "Conforme"
End If

If CheckBox2 Then
ActiveCell = "Ecrasée"
End If

If CheckBox3 Then
ActiveCell = "Erosion"
End If

If CheckBox4 Then
ActiveCell = "Magnétoscopie"
End If

If CheckBox5 Then
ActiveCell = "Matage"
End If

If CheckBox6 Then
ActiveCell = "Non conforme"
End If

If CheckBox7 Then
ActiveCell = "Pièce absente"
End If

If CheckBox8 Then
ActiveCell = "Rayure"
End If

If CheckBox9 Then
ActiveCell = "Rayure profonde"
End If

If CheckBox10 Then
ActiveCell = "Ressuage"
End If

If CheckBox11 Then
ActiveCell = "Rien à signaler"
End If

If CheckBox12 Then
ActiveCell = "Trace de chocs"
End If

If CheckBox13 Then
ActiveCell = "Trace d'errosion"
End If

If CheckBox14 Then
ActiveCell = "Autres :"
End If

CaseCoche.Hide
End Sub


et je n'ai pas que une cellule à remplir .
Messages postés
6
Date d'inscription
jeudi 27 février 2014
Statut
Membre
Dernière intervention
3 mars 2014

OH merci beaucoup !
Messages postés
23379
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 juillet 2020
6 229
Bonjour,

le problème c'est que je peut en mettre que une seule alors que je veux pouvoir en mettre plusieurs
Une autre proposition.
Un clic dans la cellule déplie une liste déroulante où tu peux faire plusieurs sélections.
On peux choisir le séparateur pour les mots dans la cellule.
https://www.cjoint.com/c/DCbqVmToZnV

eric
Messages postés
6
Date d'inscription
jeudi 27 février 2014
Statut
Membre
Dernière intervention
3 mars 2014

Merci beaucoup, j'aime bien le rendu (même si ça devient compliqué lol)
Messages postés
23379
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
8 juillet 2020
6 229
Non, ne t'y fie pas, ce n'est pas compliqué.
Fait les 4 étapes tranquillement et c'est bon (ou bien part du classeur fourni).
eric