Visual Basic

Résolu
Farfadet88 Messages postés 6295 Date d'inscription   Statut Membre Dernière intervention   -  
m@rina Messages postés 23923 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je suis en train de créer un outil d'enregistrement des AT sur Excel avec des userform.

L'une de mes userform contient des cases à cocher (disons 3 cases). Comment faire pour que le nom des cases cochées apparraissent dans une case excel lorsque je ferme ma userform.

Exemple:

Case 1 cochée
Case 2 pas cochée
Case 3 cochée

alors la valeur en A1 est " Case 1 et Case 3 "
A voir également:

6 réponses

Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Bonjour,

Tu peux essayer ça:
Dim msg as String

msg = ""

If Check1.Value Then
   msg = Check1.Caption & " "
End if

If Check2.Value Then
   msg = msg & Check2.Caption & " "
End If

If Check3.Value Then
   msg = msg & Check.Caption
End If


;o)
0
m@rina Messages postés 23923 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
Bonjour,

Moi j'utiliserais une Listbox avec bouton d'option, ce qui te permet en plus d'ajouter, de supprimer ou de modifier facilement des items.
Exemple ici :
https://www.cjoint.com/?kpjxxJVDOn

m@rina
0
Farfadet88 Messages postés 6295 Date d'inscription   Statut Membre Dernière intervention   1 370
 
Le souci c'est que mes cases à cocher ne sont pas alignées. Elles se situent tout autour d'une photo d'un corps en indiquant "tête", "épaule gauche", "épaule droite", "cou", etc etc...

Mais dans l'idée c'est exactement ce que je cherche à faire.

Une autre solution?
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
RE bonjour,

Boudiou, j'étais pas réveillé ce matin, j'ai oublié de finir mon exemple

Dim msg as String

msg = ""

If Check1.Value Then
   msg = Check1.Caption & " "
End if

If Check2.Value Then
   msg = msg & Check2.Caption & " "
End If

If Check3.Value Then
   msg = msg & Check3.Caption
End If

Sheets(1).Range("A1").Value = msg


Je pense que M@rina connait mieux le contexte que moi et saura être plus pertinente sur le sujet.

;o)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Farfadet88 Messages postés 6295 Date d'inscription   Statut Membre Dernière intervention   1 370
 
Ca marche nickel! Merci polux
0
m@rina Messages postés 23923 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
Bonjour,

Effectivement on peut aussi faire une boucle sur tous les Checkbox, ce qui évite de répéter x fois l'instruction :

Dim c
Range("A1").Clear
For Each c In UserForm1.Controls
If Left(c.Name, 5) = "Check" And c.Value = True Then
Range("A1").Value = Range("A1").Value & c.Caption & " "
End If
Next


m@rina


0