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 :

FlexGrid et touche enter:


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut FlexGrid et touche enter:
    Bonjour à tous:

    J'ai mis un flexgrid et tout va bien

    Mais lorsque l'utilisateur appuye sur une case (une cellule), il peut entrer des valeurs. Puis lorsque il appuye sur ENTER, il y a un bruit qui apparait (comme pour les megbox) et ma selection va sur un combo qui n'appartient pas au flex, mais à la form.

    Je voudrais, lorsque l'utilisateur entre des données, lorsqu'il appuye sur ENTER, la selection passe directement à la cellule d'en bas.

    Comment faire?

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu n'a pas une propriété qui permette de fixer le déplacement droite ou bas (je ne connais rien aux flexgrid alors si je dis un bêêêtise... je me pardonne)

    A+

  3. #3
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    quoi qu'il en soit: code de la touche enter= 13 (keyaskii et keycode)


    pareil que ouskelnor pour les flexgrids

    salut
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Points : 374
    Points
    374
    Par défaut Flexgrid et touche Enter
    Bonsoir,
    Vois si ce code peux t'aider ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
    If KeyAscii = vbKeyReturn Then
    Dim i
    For i = 1 To MSFlexGrid1.RowSel + 1
    MSFlexGrid1.RowSel = i
    Next i
    End If
    End Sub
    jpleroisse

  5. #5
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    Macthe pas trop le code

    Ou alors je l'utilise mal???

    Faut rien cganger au code ou alors faut mofifier?

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par Terminator
    Macthe pas trop le code
    ... ne nous dit absolument rien sur ce qui se passe.

    Message d'erreur?
    Si oui, lequel et à quelle ligne?

    Quel nom as-tu donné à ta FlexGrid?
    Où as-tu mis le code?

    Aide-nous un peu pour qu'on puisse t'aider.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  7. #7
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
        If KeyAscii = 13 Then
            KeyAscii = 0
            MSFlexGrid1.Row = MSFlexGrid1.RowSel + 1
        End If
    End Sub
    Se code est dans le plus simple mais ne tient pas compte des limites du FlexGrid. Faudra ajouter un test sur la position actuelle de la cellule sélectionnée pour ne pas déborder.

  8. #8
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    Citation Envoyé par Terminator
    Faut rien cganger au code ou alors faut mofifier?

    ben faut quand même remplacer "MSFlexGrid1" par le nom de ta flexgrid

    sinon, il faut peut-être ajouter une limite histoire d'éviter que ton code descende à une cellule inexistante ("erreur 14" )

    salut
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

  9. #9
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    Désolé de répondre si tardivement

    J'ai aucun message d'erreur, juste que lorsque j'appuye sur enter (meme avec le code donné), rien ne se passe, ou plutot si, la meme chose que ce que j'avais avant (cad bruit puis la selection se dirige vers une combo que j'ai dans mon form!!!!

    J'ai bien changé le nom pour mettre mon flexgrid (appelé "flex")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub flex_KeyPress(KeyAscii As Integer)
    If KeyAscii = vbKeyReturn Then
    Dim i
    For i = 1 To flex.RowSel + 1
    flex.RowSel = i
    Next i
    End If
    End Sub

  10. #10
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    Ce doit être une question de préférences dans le système... Chez moi, ton code ne fait qu'agrandir la sélection vers le bas... Est-ce bien ce que tu cherches à faire?

  11. #11
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    par hazar, tu n'as un code de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if keyascii=13 then cobo.setfocus
    ou quelque chose de ce genre
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  12. #12
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    Personnellement, je ne comprends pas l'utilité de la boucle For Next... J'ai fait ceci qui marche très bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub flex_KeyPress(KeyAscii As Integer)
        If KeyAscii = vbKeyReturn Then
            KeyAscii = 0
            If flex.RowSel = flex.Rows - 1 Then
                flex.Row = 1  'ou 0 (zéro) selon les FixedRows
              Else
                flex.Row = flex.RowSel + 1
            End If
          Else
            flex.Text = flex.Text & Chr(KeyAscii)
        End If
    End Sub

  13. #13
    Membre éprouvé
    Avatar de ridan
    Inscrit en
    Avril 2003
    Messages
    710
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2003
    Messages : 710
    Points : 1 126
    Points
    1 126
    Par défaut
    Jette aussi un coup d'oeil sur cette source : http://vb.developpez.com/sources/?pa...ridsaisissable
    @ bientôt

    :: Ressources VB : Cours | FAQ | Sources et surtout La recherche sur le forum

    :: Pour un forum plus propre ...

  14. #14
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    Au fait, ce que je cherche à faire:

    J'ai des cellules (une seule de mes colonnes est editable, cad l'utilisateur ne peut entrer des valeurs que pour une seule colonne).
    Lorsque l'utilisateur clique sur la premiere cellule (qui se trouve sur la ligne 1 car la ligne zéro est fixe), il entre un nombre.
    Ensuite, je souhaite lors de il appuye sur touche entrée, la selection descende (cad que le curseur doit aller sur la cellule juste en dessous).

    Les derniers codes seront testés ce soir, car pour l'instant je n'ai pas mon travail avec moi

    A bientot

Discussions similaires

  1. [FLASH 8] Détection de la touche ENTER
    Par Destiny dans le forum Flash
    Réponses: 1
    Dernier message: 10/03/2006, 15h21
  2. Evenement "Appuyer sur la touche Enter"
    Par Benjy dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/09/2005, 11h14
  3. [JTextField] Déclencher une action avec la touche ENTER
    Par tchoukapi dans le forum Composants
    Réponses: 10
    Dernier message: 19/09/2005, 14h37
  4. [Listener] Réagir sur la touche ENTER
    Par Sarrus dans le forum Agents de placement/Fenêtres
    Réponses: 14
    Dernier message: 07/09/2005, 11h31
  5. Réponses: 2
    Dernier message: 29/08/2005, 18h29

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