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

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    mars 2003
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : mars 2003
    Messages : 880
    Points : 435
    Points
    435

    Par défaut VB6 Saisir un texte dans un Combobox

    Bonjour,

    Sur un Feuille j'utilise 1 combobox avec plusieurs colonnes
    Les colonnes sont complétées avec une requête.
    je voudrais pouvoir saisir du texte dans le combobox et enregistrer ce texte dans ma bdd.
    Le souci c'est que le combobox que j'utilise ne prend pas les keyascii ou alors je ne sais pas l'utiliser . ce qui semble être le cas.
    Avec la procédure le message ne s'affiche pas !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub ComboNat_KeyPress(KeyAscii As MSForms.ReturnInteger)
        If keyscii = 13 Then
            MsgBox "j'ai cliqué sur entrée"
        End If
    End Sub
    J'ai bien un autre combobox dans les composants mais il n'y a qu'une colonne !!

    Merci de votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 920
    Points : 11 195
    Points
    11 195

    Par défaut

    Salut

    Du VB6 et antérieur, plutôt du VBA ou VB.net non ?

    If keyscii = 13 Then
    If KeyAscii = 13 Then
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    mars 2003
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : mars 2003
    Messages : 880
    Points : 435
    Points
    435

    Par défaut

    Je suis bien sur VB6.0

    j'avais vu la bourde j'ai corrigé mais rien de neuf !!

  4. #4
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 920
    Points : 11 195
    Points
    11 195

    Par défaut

    Comment savoir si l'on utilise VBA ou VB6 ?

    Private Sub ComboNat_KeyPress(KeyAscii As MSForms.ReturnInteger) sous VB.net me semble-t-il
    Private Sub ComboNat_KeyPress(KeyAscii As Integer) sous VB6 et antérieur.
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    mars 2003
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : mars 2003
    Messages : 880
    Points : 435
    Points
    435

    Par défaut

    Je confirme VB 6 avec l'icone 32

    Dans "Projet" > "Composants" j'ai coché :
    - Microsoft Common Dialog 6.0
    - Microsoft FlexGrid Control 6.0
    - Microsoft Forms 2.0 Object Library
    - Microsoft Hierarchical FlexGrid Control 6.0
    - Microsoft Tabbed Dialog Control 6.0
    - Microsoft Windows Common Controls 2 6.0
    - Microsoft Windows Common Controls 3 6.0


    celui que j'utilise est : Private Sub ComboNat_KeyPress(KeyAscii As MSForms.ReturnInteger)

    Donc il semble qu'il ne soit pas correcte mais si j'utilise l'autre combobox je n'ai pas plusieurs colonnes ou alors je ne sais pas le paramétrer !!

  6. #6
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    juillet 2009
    Messages
    2 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2009
    Messages : 2 273
    Points : 5 385
    Points
    5 385

    Par défaut

    Private Sub ComboNat_KeyPress(KeyAscii As MSForms.ReturnInteger) sous VB.net me semble-t-il
    C'est bien du VB6 mais avec le contrôle ComboBox de Microsoft Forms 2.0 Object Library qui a la propriété ColumnCount(d'où plusieurs colonnes).
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  7. #7
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 920
    Points : 11 195
    Points
    11 195

    Par défaut

    Salut

    Je n'ai jamais utilisé le composant Form2, car il pouvait poser des problèmes de distribution.
    Pour autant,
    Il n'y a pas de détection de toutes les touches dans l'évènement KeyPress.
    Une solution est d'utiliser l'évènement KeyUp
    Pour l'exemple j'ai mis le ComboBox et 2 Label sur le Form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
    Private Sub Form_Load()
    ComboBox1.AddItem "Un"
    ComboBox1.AddItem "Deux"
    ComboBox1.AddItem "Trois"
    End Sub
    Private Sub ComboBox1_KeyPress(KeyAscii As MSForms.ReturnInteger)
    Label1.Caption = Chr(KeyAscii)
    End Sub
    Private Sub ComboBox1_KeyUp(KeyCode As MSForms.ReturnInteger, Shift As Integer)
    If KeyCode = 13 Then
        Label2.Caption = "j'ai cliqué sur entrée, le contenu est " & ComboBox1.Text
    End If
    End Sub
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  8. #8
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    mars 2003
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : mars 2003
    Messages : 880
    Points : 435
    Points
    435

    Par défaut

    Bonjour et merci pour vos réponses.

    j'ai fait des tests et KeyUp ne réagit pas aux codes 8 et 13 alors après plusieurs tests voici ce j'ai trouvé et qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub ComboNat_KeyDown(KeyCode As MSForms.ReturnInteger, Shift As Integer)
    If KeyCode = 8 Then
        Label9.Caption = Left(Label9.Caption, Len(Label9.Caption) - 1)
    End If
    If KeyCode = 13 Then
        MsgBox "J'ai cliqué sur entrée et j'ai entré :" & Label9.Caption & " "
    End If
    End Sub
    Private Sub ComboNat_KeyPress(KeyAscii As MSForms.ReturnInteger)
        Label9.Caption = Label9.Caption + Chr(KeyAscii)
    End Sub
    Maintenant, lorsque le KeyCode = 13 je vais afficher un message pour demander à l'utilisateur s'il souhaite enregistrer sa saisie.

    Merci encore
    Je place un Résolu mais....

  9. #9
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    mars 2003
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : mars 2003
    Messages : 880
    Points : 435
    Points
    435

    Par défaut

    Citation Envoyé par ProgElecT Voir le message
    Je n'ai jamais utilisé le composant Form2, car il pouvait poser des problèmes de distribution.
    ça me fait un peu peur !! Quelles peuvent être les problèmes de distribution ?

    Qu'est ce qui pourrait remplacer un combobox avec des colonnes ?

  10. #10
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 920
    Points : 11 195
    Points
    11 195

    Par défaut

    Salut

    Le problème de distribution, pour le composant Microsoft Forms 2.0 Object Library, de mémoire, était qu'il fallait une licence spécial qui n'était pas incluse dans la version Professionnel de VB6, il aurait fallut la version Entreprise (ou vis versa, cela date ...).

    Tu peux plutôt utiliser un MSHFlexGrid qui est plus performant.
    Pour exemple, regarde cette discussion BDD Excel avec VB6, au postage N°20 j'ai déposé un lien en téléchargement qui illustre son l'utilisation.

    Je reste abonné à cette discussion, je pourrai donc te donner toutes informations supplémentaires si besoin.
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

Discussions similaires

  1. [VB6] Envoyer du texte dans Notepad
    Par Bomba dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/12/2006, 07h22
  2. [VB6] Rajouter du texte dans un fichier
    Par unacsed dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 04/09/2006, 11h30
  3. [VB6] - Couleur du texte dans un texte box
    Par EricStrasbourg dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 17/05/2006, 10h13
  4. [VB6]Afficher du texte dans Textbox desactivé + scrollbar?
    Par toninlg dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/03/2006, 18h40
  5. [VB6] suggestion des entrés dans un combobox
    Par s.rais dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/02/2004, 15h32

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