Click dans une flexgril

jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014 - 26 déc. 2006 à 20:24
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 27 déc. 2006 à 08:09
Sûrement très simple... Quelque chose m'échappe... A l'aide...

Je m'explique par un exemple.

J'ai une grille appelée "msgOuvrir"

J'utilise la propriété :
msgOuvrir.selectionMode = flexSelectionFree
pour me permettre une selection sur les lignes et les colonnes à la fois.

Quand je clique en plein milieu de ma grille (par exemple, 5e ligne, 6 colonne),
je voudrais connaitre les indices ligne et colonne de mon clic.

J'utilise pour cela
lignechoisie = msgOuvrir.RowSel
colonnechoisie = msgOuvrir.ColSel

Mais ces deux variables ne stockent pas les bonnes valeurs.

Qui peut m'aider ?
jyd

8 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
26 déc. 2006 à 20:38
As-tu essayé les propriété col et row plutôt ? Elle te donne les coordonnée de la cellule courante.
0
jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014
26 déc. 2006 à 21:42
Dès lors, comment rendre courante une cellule sur laquelle je cliquerai ?

Qui peut m'aider

jyd
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
26 déc. 2006 à 21:47
Comment rendre courante la cellule sur laquelle tu cliquerais ?
C'est un peu comme si tu disais : comment rendre actif le contrôle sur lequel je clique !
0
jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014
26 déc. 2006 à 21:55
Au risque de paraitre ridicule, même si, dans mon code, je remplace

lignechoisie = msgOuvrir.RowSel
colonnechoisie = msgOuvrir.ColSel

par

lignechoisie = msgOuvrir.Row
colonnechoisie = msgOuvrir.Col

cela ne fonctionne pas non plus !!!

Pourquoi ?
jyd
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
26 déc. 2006 à 22:05
Ah ?

j'espère que ta msflexgrig a pour nom msgOuvrir et que tu utilises son événement clicl !

Private Sub msgOuvrir_Click()
  lignechoisie = msgOuvrir.Row
  colonnechoisie = msgOuvrir.Col
  MsgBox lignechoisie & " " & colonnechoisie
End Sub

et clique sur une cellule de ton choix... et vois...
0
jytest Messages postés 314 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014
26 déc. 2006 à 22:15
Merci de ton aide... J'ai compris mon erreur!!!!

Je n'avais bloqué la propriété
msgOuvrir.SelectionMode =flexSelectionFree

Mille excuses !!!

jyd
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
26 déc. 2006 à 23:50
Tu peux aussi utiliser MouseRow et MouseCol

Private Sub MSFlexGrid1_DblClick()
    MsgBox "Index de colonne: " & MSFlexGrid1.MouseCol & _
            vbCrLf & _
           "Index de ligne: " & MSFlexGrid1.MouseRow
End Sub

MPi
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 déc. 2006 à 08:09
ok avec MPi

gaffe cependant lors du deboguage ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Rejoignez-nous