Affecter dans une cellule les valeurs de plusieurs cases cochées

Bonjour,

Je souhaite utiliser, dans un userform, 13 checkbox représentant pour chacune d'elle une option (Avion, Train, hotel,...etc...) à sélectionner, et que les options sélectionnées se retrouvent, séparées par une virgule dans une cellule.

Quel serait le code VBA pour obtenir cela ?

En vous en remerciant par avance,

Bien cordialement,

Kim

Bonjour et bienvenue,

Le code dépend de votre Userform, veuillez joindre un fichier avec votre Userform ainsi que le résultat attendu (dans un tableau, cellule unique ?...)

Mais bon de manière générale une idée de code serait de boucler sur les checkbox de l'userform et de sauvegarder leurs valeurs dans une liste, puis d'exporter cette liste dans le classeur.

Par exemple :

Private Sub CommandButton1_Click()
  ' liste
  Dim arrOut As Object: Set arrOut = CreateObject("system.collections.arraylist")

  ' recuperation des caption
  Dim ctrl As MSForms.Control, cb As MSForms.CheckBox
  For Each ctrl In Me.Controls
    If TypeOf ctrl Is MSForms.CheckBox Then
      Set cb = ctrl
      If cb.Value Then
        arrOut.Add cb.Caption
      Else
        arrOut.Add vbNullString
      End If
    End If
  Next ctrl

  ' export dans le classeur : 1e feuille en A1 (horizontal)
  ThisWorkbook.Worksheets(1).Range("a1").Resize(1, arrOut.Count).Value = arrOut.ToArray
End Sub
Rechercher des sujets similaires à "affecter valeurs cases cochees"