IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

liste du texte déjà entré dans un textbox


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut liste du texte déjà entré dans un textbox
    Bonjour, j'aimerais savoir comment on peut faire en sorte que lorsqu'on clique sur un textbox, le (ou les) texte(s) qu'on avait déjà tapé précédemment s'affiche en dessous. Comme lorsqu'on fait une recherche avec google par exemple si on tape "a" il nous met toutes les recherches commencant par "a" que l'on avait effectuées avant. Sans peut-être aller jusque là je voudrais savoir au moins comment afficher les recherches précédentes, sans se soucier de la première lettre de la recherche.

    Merci d'avance de votre aide.

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 108
    Points : 16 640
    Points
    16 640
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Option Explicit
     
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
    'Const LB_FINDSTRING = &H18F
    'Const LB_FINDSTRINGEXACT = &H1A2
    Dim Masq
    Private Sub Form_Load()
    'KPD-Team 1998'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net'Add some items to the listbox
    With List1
     .AddItem "Computer": .AddItem "Screen"
     .AddItem "Modem": .AddItem "Printer"
     .AddItem "Scanner": .AddItem "Sound Blaster"
     .AddItem "Keyboard": .AddItem "CD-Rom"
     .AddItem "Mouse": .AddItem "Sourdingue"
    End With
    End Sub
    Private Sub Check1_Click()
    If Check1.Value = 0 Then Masq = &H18F Else Masq = &H1A2
    Text1_Change
    End Sub
    Private Sub Text1_Change()
    'c'est ici que cela devrait t'interresser
    List1.ListIndex = SendMessage(List1.hwnd, Masq, -1, ByVal CStr(Text1.Text))
    End Sub

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    ok merci je vais regarder ca
    edit : bon alors j'ai rentré le code dans mon programme mais en fait ca fait rien du tout. Quand je tape du texte ca change rien à la listbox. En même temps ca me parait normal puisque la fonction Send Message est vide dans ton code donc elle sert à rien en fait la.

  4. #4
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    SI ca fait quelque chose :
    Lorsque tu tape du text ca selectionne celui qui correspond le plus à ce que tu tape.

    PS :
    Rajoute la ligne en gras dans le form_load
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form_Load()
    'KPD-Team 1998'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net'Add some items to the listbox
    With List1
     .AddItem "Computer": .AddItem "Screen"
     .AddItem "Modem": .AddItem "Printer"
     .AddItem "Scanner": .AddItem "Sound Blaster"
     .AddItem "Keyboard": .AddItem "CD-Rom"
     .AddItem "Mouse": .AddItem "Sourdingue"
    End With
    Masq = &H18F
    End Sub
    EDIT : Sendmessage est une API windows, il ne faut pas la programmer mais juste déclarer son appel

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    ok merci beaucoup.
    Mais maintenant moi j'aurais voulu savoir comment fair pour qu'il enregistre le texte et que la prochaine fois que je lance le programme qu'il se remette tout seul dans la listbox, si c'est possible. Parce que là il tuilise seulement les mots définis dans le form_oad mais moi je voudrais que à chaque fois que je rentre un nouveau mot il s'en rappelle pour la prochaine fois.

  6. #6
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Vire le check1, remplace tout le code de la feuille par ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    Option Explicit
     
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
    Const LB_FINDSTRING = &H18F
    Const LB_FINDSTRINGEXACT = &H1A2
     
    Dim Masq
    Dim AdresseLog As String
     
    Private Sub Form_Load()
    Masq = LB_FINDSTRING
     
    'Adresse du fichier de sauvegarde des frappes
    AdresseLog = "C:\Frappes.log"
     
    'Met à jour le contenu de la liste
    MAJList
     
    End Sub
    Private Sub Text1_Change()
     
    'Met à jour le contenu de la liste
    MAJList
     
    'c'est ici que cela devrait t'interresser
    List1.ListIndex = SendMessage(List1.hwnd, Masq, -1, ByVal CStr(Text1.Text))
     
    End Sub
     
    Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
    On Error Resume Next
     
    Dim Contenu As String
     
     
     
    If KeyCode = 13 Then
        If Dir(AdresseLog) <> "" Then
            Contenu = Space(FileLen(AdresseLog))
     
            Open AdresseLog For Binary As #1
            Get #1, , Contenu
            Close #1
     
            Kill AdresseLog
     
            'si le text n'existe pas déjà
            If InStr(Contenu, Text1.Text) = 0 Then
                Contenu = Contenu & ";" & Text1.Text
            End If
        Else
            Contenu = Contenu & Text1.Text
        End If
     
        Open AdresseLog For Binary As #1
        Put #1, , Contenu
        Close #1
        'Met à jour le contenu de la liste
        MAJList
     
    End If
     
    End Sub
     
    Public Sub MAJList()
    Dim Contenu As String
    Dim ListLg() As String
    Dim Index As Integer
     
    If Dir(AdresseLog) <> "" Then
        Contenu = Space(FileLen(AdresseLog))
     
        Open AdresseLog For Binary As #1
        Get #1, , Contenu
        Close #1
     
        ListLg = Split(Contenu, ";")
        List1.Clear
     
        For Index = 0 To UBound(ListLg)
        List1.AddItem ListLg(Index)
        Next
    End If
    End Sub

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    ok merci je teste de suite
    edit : Ca marche niquel c'est parfait merci !

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    Juste une dernière chose, comment tu connais la liste des keycode correspondant à chaque touche parce que ca me serait bien utile?

    Désolé pour le double poste mais ca évite de créer un nouveau topic.

  9. #9
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Vaux mieux ouvrir un autre topic pour une autre question, sinon le titre du post ne correspond plus a rien.
    Sinon, tu fais la touche F2 dans l'interface de VB(Eplorateur d'objet intégré de Vb) et tu rechecherches vbkey. Tu auras toutes les correspondances

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2006
    Messages : 70
    Points : 32
    Points
    32
    Par défaut
    ok merci et désolé pour le HS alors :S

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Validation d'une entrée dans un Textbox
    Par apokalypse dans le forum Windows Forms
    Réponses: 5
    Dernier message: 16/01/2009, 18h21
  2. Réponses: 4
    Dernier message: 04/09/2007, 08h51
  3. [VBA-E]Entrée dans une textbox
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/12/2006, 17h54
  4. [Javascript] appui sur la touche entrée dans une textbox
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/01/2006, 11h19
  5. [c#]Gros text à afficher dans une textbox
    Par famemaur dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/05/2005, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo