Problème recherche contenu TextBox Excel
Résolu
coudu
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
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
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:
- Problème recherche contenu TextBox Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Fusionner deux cellules excel en gardant le contenu - Guide
- Déplacer colonne excel - Guide
8 réponses
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
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
coudu
slt, le numéro de licence est contenu dans un textbox.
Salut,
Prenons l'exemple avec "foot". Essaye d'abord sur une copie de ton classeur...
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
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 :
tu créées une variable string à laquelle tu affectes la valeur de ta combo et :
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
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
Merci pour ton aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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!!
https://www.cjoint.com/?bukWc6PCr6
ps : si tu arrives à avoir ces joueurs dans les équipes de ta ville, je déménage!!
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
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