Problème recherche contenu TextBox Excel

Résolu/Fermé
coudu - 18 janv. 2010 à 14:54
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 21 janv. 2010 à 14:15
Bonjour,
j’ai besoin d’un coup de main….
J’ai créé un userform qui me sert à enregistrer tous les licenciés de sport de ma commune. Dans l’userform j’ai un combobox. Il me permet de choisir entre plusieurs sports.(foot, hand,…). En fait cela me sert à envoyer les infos que je vais enregistrées dans les textbox en dessous du combobox dans les feuilles du classeur Excel nommées hand, foot…En bas du userform j’ai un bouton de commande qui me permet d’enregistrer ces valeurs des textbox dans les feuilles Excel appropriées. Mon programme fonctionne, lorsque je clique sur enregistré, il cherche la première ligne vide pour enregistrer. Le souci c’est que j’aimerais qu’il cherche si le numéro de licence à déjà été enregistré. Et si oui, qu’il réenregistre les nouvelles valeurs, et non qu’il crée une nouvelle ligne.
Exemple :

If ComboBox1.Value = "foot" Then
Sheets("foot ").Range("a65536").End(xlUp).Offset(1, 0) = TextBox48.Value
Sheets("foot").Range("b65536").End(xlUp).Offset(1, 0) = TextBox49.Value
Sheets("foot").Range("c65536").End(xlUp).Offset(1, 0) = TextBox50.Value
Sheets("foot ").Range("d65536").End(xlUp).Offset(1, 0) = TextBox52.Value
'Sheets("foot ").Range("e65536").End(xlUp).Offset(1, 0) = TextBox51.Value
Sheets("foot ").Range("f65536").End(xlUp).Offset(1, 0) = TextBox53.Value
Sheets("foot ").Range("p65536").End(xlUp).Offset(1, 0) = TextBox54.Value
Sheets("foot ").Range("i65536").End(xlUp).Offset(1, 0) = TextBox55.Value
Sheets("foot ").Range("j65536").End(xlUp).Offset(1, 0) = TextBox56.Value
Sheets("foot ").Range("o65536").End(xlUp).Offset(1, 0) = TextBox57.Value
End If


Merci
A voir également:

8 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
18 janv. 2010 à 16:18
Salut,
Ton numéro de licence apparait ou? Dans une combobox? un textBox? si oui le(a)quel(le)?

EDIT : merci de mettre à tes sujets, des noms plus appropriés à tes problèmes. Exemple ici : Problème recherche contenu TextBox Excel
0
slt, le numéro de licence est contenu dans un textbox.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
19 janv. 2010 à 09:07
Salut,
Prenons l'exemple avec "foot". Essaye d'abord sur une copie de ton classeur...

Dim cherche as Integer
Dim val as String, val2 as String
val = TextBox(N°_de_licence).Value
If ComboBox1.Value = "foot" Then 
     With Worksheets("foot")
     On Error Resume Next 'la seule erreur que je vois c'est l'absence du n° de licence. Dans ce cas il y a un test après
     cherche = .Columns(2).Find(val, LookIn:=xlValues).Row
          If cherche = 0 Then 'ici le test si N° pas encore enregistré
'ici j'ai inséré une msgbox pour laisser un choix à l'utilisateur
          val2 = MsgBox("N° de licence inconnu dans la base. Voulez vous l'enregistrer?", vbYesNo)
               If val2 = vbNo Then Exit Sub
          cherche = .Range("a65536").End(xlUp).Offset(1, 0).Row
          End If
.Range("A" & cherche) = TextBox48.Value 
.Range("B" & cherche) = TextBox49.Value 
.Range("C" & cherche) = TextBox50.Value 
.Range("D" & cherche) = TextBox52.Value 
'.Range("E" & cherche) = TextBox51.Value 
.Range("F" & cherche) = TextBox53.Value 
.Range("P" & cherche) = TextBox54.Value 
.Range("I" & cherche) = TextBox55.Value 
.Range("J" & cherche) = TextBox56.Value 
.Range("O" & cherche) = TextBox57.Value 
End With
End If 


0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
19 janv. 2010 à 09:45
Si ton classeur a été bien "pensé" au départ, tu peux simplifier tes macros. J'explique.
Tu as une combobox (foot, hand...) qui permet le renvoi de valeurs textbox vers feuille. Si les noms de tes feuilles correspondent avec les valeurs de ta combo, et que les données sont rangées dans les mêmes colonnes, tu peux, plutôt que de faire :
If combobox1.value = "foot" then
blabla
end if
if combobox1.value = "hand" then
bloblo
end if

tu créées une variable string à laquelle tu affectes la valeur de ta combo et :

Dim valcomb as String
valcomb = ComboBox1.Value
With Sheets(valcomb)
.Range("A" & cherche) = TextBox48.Value 
.Range("B" & cherche) = TextBox49.Value 
.Range("C" & cherche) = TextBox50.Value 
.Range("D" & cherche) = TextBox52.Value 
'.Range("E" & cherche) = TextBox51.Value 
.Range("F" & cherche) = TextBox53.Value 
.Range("P" & cherche) = TextBox54.Value 
.Range("I" & cherche) = TextBox55.Value 
.Range("J" & cherche) = TextBox56.Value 
.Range("O" & cherche) = TextBox57.Value 
End With

0
Salut, en fait mon programme est comme tu explique à la fin. Ce que j’aimerais c’est que si je suis dans l’onglet nouvelle licence, que je choisi dans la combo box « foot » , et qu’ensuite je rentre le numéro de licence dans la textbox appropriée, les autres infos dans leur textbox respectives. Et lorsque je valide on me dise que ce numéro de licence (rangé dans la colonne A de la feuille « foot ») existe déjà licence et donc alors on écrase celle qui existait pour enregistrer les nouvelles infos au lieu de créer une nouvelle ligne dans ma feuille Excel. Parce que sinon le jour ou je chercherai une licence, si elle est inscrite deux foi j’aurais pas les infos que je souhaite.

Merci pour ton aide
0

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

Posez votre question
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
20 janv. 2010 à 09:41
Salut,
Normalement, mon code au post 3 fais tout ça.
Je vais le tester car pas encore fait.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
20 janv. 2010 à 10:48
Bon j'ai créé ce fichier de test, regarde le et dit moi si cela te va?

https://www.cjoint.com/?bukWc6PCr6


ps : si tu arrives à avoir ces joueurs dans les équipes de ta ville, je déménage!!
0
super c'est bon!!! t'es une vedette, avec les vrais nom des joeurs, un vrai pro!!!!

Merci
0
Salut,
dis dans mon userform j'ai plusieurs onglets:
Comment puis je faire pour que l'onglet séléctionner soit diférents des autres quand il est selectionné?

Merci
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
21 janv. 2010 à 14:15
??? Je ne comprends pas la question... Pas réveillé, manque de café...
Peux tu faire une copie de ton classeur excel, le vider des données confidentielles et le joindre ici (comme je l'ai fait pour l'exemple ci dessus). Ca sera beaucoup plus explicite.
0