Bonjour,
Dans un formulaire j'ajoute dans une listbox une série de valeurs et ensuite je complète le reste de mon formulaire.
Lors de la validation du formulaire, j'aimerais que pour chaque valeur de ma Listbox une ligne soit créée dans mon classeur suivie, pour chaque ajout du reste des données saisies via mon formulaire.
J'utilise actuellement ce code pour valider mon formulaire et ajouter les données à mon classeur :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Private Sub Submit_Click() 'Validation du formulaire
Dim L As Integer
date_test = Now()
'
L = Feuil1.Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
'
Range("A" & L).Value = date_test
Range("C" & L).Value = TextBox1
Range("D" & L).Value = ComboBox1
Range("E" & L).Value = ComboBox2
Range("F" & L).Value = TextBox3
Range("G" & L).Value = TextBox2
Range("H" & L).Value = TextBox6
Range("I" & L).Value = TextBox7
Range("J" & L).Value = rappCOT
Range("K" & L).Value = rappDECLIC
'
Unload Me
'
End Sub |
La ligne que je cherche à remplacer par une boucle sur les items de ma Listbox est celle-ci :
Range("C" & L).Value = TextBox1
Concernant ma Listbox, j'ai écrit ces quelques lignes pour gérer l'ajout des données et le retrait en cas d'erreur de saisie.
1 2 3 4 5 6 7 8 9 10 11
| Private Sub CommandButton1_Click()
'Ajouter à la listbox
Me.ListBox1.AddItem TextBox1
Me.TextBox1 = ""
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'Supprimer une valeur uniquement si non vide pour éviter les erreurs
If Me.ListBox1 <> "" Then
Me.ListBox1.RemoveItem i
End If
End Sub |
Je me permets donc de solliciter votre aide sur ce sujet.
Au besoin, je peux vous fournir un fichier test avec mon formulaire.
Merci d'avance de vos lumières !
Partager