Problème recherche contenu TextBox Excel

Résolu
coudu -  
pijaku Messages postés 13513 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
Configuration: Windows 2000 Internet Explorer 6.0

8 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
    1. coudu
       
      slt, le numéro de licence est contenu dans un textbox.
      0
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  4. coudu
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Salut,
    Normalement, mon code au post 3 fais tout ça.
    Je vais le tester car pas encore fait.
    0
  7. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  8. coudu
     
    super c'est bon!!! t'es une vedette, avec les vrais nom des joeurs, un vrai pro!!!!

    Merci
    0
  9. coudu
     
    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
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      ??? 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