Listbox dans userform

Bonjour tout le monde,

Pouvez-vous m'aider à régler un souci au niveau de ma listbox SVP?

J'ai un userform dans lequel j'ai intégrer une listbox "SEM" qui renvoi les numéros des semaines depuis une liste prédéfinis (formules).

J'aimerai renvoyer les valeurs sélectionnés de la listbox dans un autre onglet différent (CALENDRIER) de celui où se trouve mon userform, sachant qu'il peut s'agir de sélectionner une à plusieurs semaines à la fois (sélection multiple). L'astuce c'est qu'à chaque sélection de un ou plusieurs éléments les cellules où doivent apparaitre mes sélections doivent aussi être dynamique du genre :

si choix = 1 : ► Sheets("CALENDRIER").Select / range ("L2") = 1

si choix = 2 ou plus : ► Sheets("CALENDRIER").Select / range ("L2") = 1

range ("L3") = 2

range ("L4") = 3

Je ne sais pas si mes explications sont assez claires, je joint un exemple de mon fichier.

C'est vraiment super urgent. Aidez-moi SVP

J'ai adapter le code ci-dessous à mon besoin, sauf que j'ai une erreur (erreur de compilation/variable non définie) lorsque je click sur Validation :

Option Explicit

Private Sub CommandButton1_Click()

Sheets("CALENDRIER").[L1:L60].ClearContents

ligne = 2

For I = 0 To Me.ListBox1.ListCount - 1

If Me.ListBox1.Selected(I) = True Then

Sheets("CALENDRIER").Cells(ligne, 1) = Me.ListBox1.List(I)

Sheets("CALENDRIER").Cells(ligne, 2) = Me.ListBox1.List(I, 1)

ligne = ligne + 1

End If

Next I

End Sub

Private Sub UserForm_Initialize()

Me.ListBox1.MultiSelect = fmMultiSelectMulti

End Sub

29test.xlsm (51.36 Ko)

On dirai que personne ne souhaite m'aider. Bon bah merci c'est sympa.

Bonjour

A tester

Bonsoir Banzai64,

Merci infiniment pour ta précieuse aide. C'est parfait.

Cependant, comment je peux faire pour masquer le userform après avoir valider mes choix. est-ce qu'il y a un code bien précis à placer en dernier STP?

Bonsoir

A choisir

Private Sub CommandButton1_Click()

  Sheets("CALENDRIER").[L1:L60].ClearContents
  ligne = 2
  For i = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(i) = True Then
      Sheets("CALENDRIER").Cells(ligne, "L") = Me.ListBox1.List(i)
'      Sheets("CALENDRIER").Cells(ligne, 1) = Me.ListBox1.List(i)
'      Sheets("CALENDRIER").Cells(ligne, 2) = Me.ListBox1.List(i, 1)
      ligne = ligne + 1
    End If
  Next i
 'Unload Me  ' Décharge l'userform de la mémoire
  ' ou
 Me.Hide     ' Masque l'userform mais celui-ci reste en mémoire
End Sub

Thank you very much, you are the best my friend.

Rechercher des sujets similaires à "listbox userform"