Utilisation combobox dans userform

Fermé
coudu - 23 déc. 2009 à 09:32
Farfadet88 Messages postés 6295 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 4 février 2025 - 23 déc. 2009 à 10:45
Bonjour, j’ai une base de données de tous les sportifs d’une agglomération. J’ai crée un userform pour enregistrer les nouveaux licenciés. J’ai un combobox qui me fait choisir entre plusieurs sports : le foot, le hand et le basket. Dans cet userform j’ai aussi des labels associés à des textbox qui donnent des informations sur les licenciés :

Label1 : « Nom » dans Textbox1
Label2 : « Club »dans Textbox2
Label3 : « Ville »dans Textbox3
Label4 : « Sport »dans Textbox4

J’aimerai que lorsque je sélectionne un combobox et que je valide avec un bouton de commande (Command bouton 1) alors les données contenues dans les textbox soient envoyées dans les cellules A1(Textbox1), B1(Textbox2), C1 (textbox3) et D1 (textbox4) des feuilles Excel s « Hand », « foot » et « Basket ».
J’aimerais aussi que lorsque je rentre un nouveau licencié il soient enregistré dans la première ligne vide de feuille Excel sélectionné grâce au combobox.

Je suis perdu dans les codes, pouvez vous m’aider…
Merci

4 réponses

Farfadet88 Messages postés 6295 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 4 février 2025 1 370
23 déc. 2009 à 09:38
Tu désires enregistrer le licencié dans les cases A1, B1, C1 et D1 de chaque Onglet ou seulement, en fonction du sport choisi dans ta combobox, l'enregistrer dans la première ligne vide de la feuille du sport concerné?
0
Farfadet88 Messages postés 6295 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 4 février 2025 1 370
23 déc. 2009 à 09:46
Private Sub CommandButton1_Click()
If ComboBox1 = "Hand" Then
Sheets("Hand").Range("a65536").End(xlUp).Offset(0, 0) = TextBox1.Value
Sheets("Hand").Range("b65536").End(xlUp).Offset(0, 0) = TextBox2.Value
Sheets("Hand").Range("c65536").End(xlUp).Offset(0, 0) = TextBox3.Value
Sheets("Hand").Range("d65536").End(xlUp).Offset(0, 0) = TextBox4.Value
End If

If ComboBox1 = "Foot" Then
Sheets("Foot").Range("a65536").End(xlUp).Offset(0, 0) = TextBox1.Value
Sheets("Foot").Range("b65536").End(xlUp).Offset(0, 0) = TextBox2.Value
Sheets("Foot").Range("c65536").End(xlUp).Offset(0, 0) = TextBox3.Value
Sheets("Foot").Range("d65536").End(xlUp).Offset(0, 0) = TextBox4.Value
End If

If ComboBox1 = "Basket" Then
Sheets("Basket").Range("a65536").End(xlUp).Offset(0, 0) = TextBox1.Value
Sheets("Basket").Range("b65536").End(xlUp).Offset(0, 0) = TextBox2.Value
Sheets("Basket").Range("c65536").End(xlUp).Offset(0, 0) = TextBox3.Value
Sheets("Basket").Range("d65536").End(xlUp).Offset(0, 0) = TextBox4.Value
End If

Unload UserForm1

End Sub

essaye ceci
0
C'est bizar rien ne se passe, je comprend vraiment pas pourquoi.
0
oups en fait ca marche, le seul soucci c'est que çà ecrit en dessou de mon tableau dans lesquelles les données doivent etre inscrites. Enfait j'ai créé dans chaque feuilles des tableaux avec des filtres pour chauqe colonne et lorsque j'enregistre un nouveau licencié ça inscrit dans les cellules en dessou du tableau, y'a t'il une solution opour que ce soit dans le tableau?

merci bcp
0
Farfadet88 Messages postés 6295 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 4 février 2025 1 370
23 déc. 2009 à 10:31
Tu dois copier cette ligne de code et l'appliquer au bouton de ta userform (double clique dessus et rentre le code dans le module qui s'ouvre).

Si ça ne marche pas c'est soit que tu nas pas remplis tes textbox, soit que nos noms d'onglet ne correspondent pas.

Dans ce cas, vérifie l'ortographe des onglets dans mon code et remplace le par les tiens
0
Oups en fait ca marche, le seul soucci c'est que çà ecrit en dessou de mon tableau dans lesquelles les données doivent etre inscrites. Enfait j'ai créé dans chaque feuilles des tableaux avec des filtres pour chauqe colonne et lorsque j'enregistre un nouveau licencié ça inscrit dans les cellules en dessou du tableau, y'a t'il une solution opour que ce soit dans le tableau?

merci bcp
0
Farfadet88 Messages postés 6295 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 4 février 2025 1 370
23 déc. 2009 à 10:45
La macro que je t'ai donné enregistre les données dans la première ligne vide qu'il trouve.
S'il enregistre en dehors de ton tableau, cela veut dire que tu as des cases non vides en dessous de ton tableau
0