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 :

[vb6] Récuperer la position de la colonne [MSHFlexGrid]


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de jlvalentin
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 133
    Par défaut [vb6] Récuperer la position de la colonne [MSHFlexGrid]
    Bonjour,

    Voila, j'ai un ch'ti souci. Je ne parviens pas à récupérer la position de la colonne dans une MSHFlexGrid.
    Mon but est de savoir sur quelle colonne et quelle ligne l'utilisateur a cliqué. Pour la ligne, pas de souci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Install_MSHGrid_Click()
       Dim tmp_CmbHeight As Long
       Dim tmp_ClickCol  As Integer
       tmp_ClickCol = Install_MSHGrid.Col
          MsgBox "Colonne Sel : " & Install_MSHGrid.ColSel & " ** Ligne Sel : " & Install_MSHGrid.RowSel & vbCr & _
                 "Colonne : " & Install_MSHGrid.Col & " ** Ligne : " & Install_MSHGrid.Row & vbCr & _
                 "ClickCol : " & tmp_ClickCol & vbCr & _
                 "Top : " & Install_MSHGrid.Top & "** Left : " & Install_MSHGrid.Left & vbCr & _
                 "Content(.row,.col) : " & Install_MSHGrid.TextMatrix(Install_DBGrid.Row, Install_MSHGrid.Col) & vbCr & _
                 "Content(.rowsel,.colsel) : " & Install_MSHGrid.TextMatrix(Install_MSHGrid.RowSel, Install_MSHGrid.ColSel)
    A chaque fois, que ce soit .Col ou .ColSel, j'ai la valeur 1 qui est retournée.

    D'avance merci.

    Jean-Luc

  2. #2
    Membre Expert
    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
    Par défaut
    Salut

    Je ne comprends pas le problème. J'ai testé avec ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub MSFlexGrid1_Click()
    Label1.Caption = MSFlexGrid1.Row
    Label2.Caption = MSFlexGrid1.Col
    End Sub
    sans problème.

    J'aimerais savoir le but d'une telle msgbox, avec autant de texte et de valeurs à afficher, je veux dire...

    Et que retourne la valeur affichée dans le textBox de ta variable tmp_ClicCol?

  3. #3
    Membre confirmé Avatar de jlvalentin
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 133
    Par défaut
    Bonjour,

    Tout d'abord, merci de s'être penché sur mon problème. J'avais un peu peur de n'avoir aucune réponse...
    Citation Envoyé par zazaraignée
    Je ne comprends pas le problème.
    Désolé, je n'ai pas été très clair dans mon précédent message, étant à fond dans mon soucis....
    Je ne parviens pas à récupérer la position de la colonne dans une MSHFlexGrid lorsque je fais un clic gauche. Je récupère bien la valeur de la ligne sur laquelle j'ai cliqué, mais je ne parviens pas à récupérer la valeur de la colonne. L'objectif est de placer à cette intersection une TextBox initialisée avec la valeur de la cellule pour en autoriser la modification.

    Citation Envoyé par zazaraignée
    Et que retourne la valeur affichée dans le textBox de ta variable tmp_ClicCol?
    Voici ce que j'ai (pour les premières lignes. En fait, j'ai cliqué au croisement de la colonne 6 et de la ligne 7
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Colonne Sel : 13	** Ligne Sel : 7
    Colonne : 1		** Ligne : 7
    ClickCol : 1
    Moi, bétement, je m'attendais à avoir .Col égal à 6 (valeur à droite de Colonne ou ClickCol dans mon MsgBox.

    Citation Envoyé par zazaraignée
    J'aimerais savoir le but d'une telle msgbox, avec autant de texte et de valeurs à afficher, je veux dire...
    C'était pour faire avancer le Schmilblick et plutot que de faire un Debug.Print, j'ai fait un MsgBox avec les valeurs que je voulais voir...

    Jean-Luc

  4. #4
    Rédacteur
    Avatar de jacma
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 612
    Par défaut
    Bonjour
    Pour obtenir les numéros ligne et colonne, il ne faut pas utiliser rowsel ni colsel, mais simplement row et col.
    Les propriétes xxxsel te permettent de définir une zone qui s'étend entre row et rowsel et col et colsel.

  5. #5
    Membre confirmé Avatar de jlvalentin
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 133
    Par défaut
    Merci Jacma, mais cela je le sais.

    Si tu regardes mon message précédent, je donne un apercu du résultat de mon MsgBox qui affiche .Colsel et .Col
    ColSel me retourne 13 ce qui correspond bien au nombre total de colonnes de ma MSHFlexGrid. Mais Col me retourne toujours la valeur 1.

    Et ce n'est pas vraiment ce que je veux.

  6. #6
    Membre confirmé Avatar de jlvalentin
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 133
    Par défaut
    OK, j'ai trouvé.
    C'est parce que sur ma MSHFlexGrid, la propriété SelectionMode était positionnée à flexSelectionByRow.
    En la mettant à flexSelectionFree, cela fonctionne parfaitement.

    Désolé de vous avoir embêté avec cela...

    Jean-Luc

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

Discussions similaires

  1. [VB6] Problème XML (position des zenfants)
    Par kboo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 01/06/2006, 17h46
  2. [C#][Débutant] Comment récuperer la valeur d'une colonne d'une grille
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/04/2006, 05h40
  3. [VRML] Récuperer la position de clic sur une sphere
    Par patmaba dans le forum Développement 2D, 3D et Jeux
    Réponses: 9
    Dernier message: 10/04/2006, 09h49
  4. [VB6] Sauvegarder la position dans un Recordset
    Par inotna2099 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 29/04/2003, 17h35
  5. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 17h19

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