MSHFlexGrid [Résolu]

Messages postés
62
Date d'inscription
samedi 19 février 2005
Dernière intervention
18 novembre 2012
- - Dernière réponse : jpleroisse
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Dernière intervention
11 mars 2006
- 22 mai 2005 à 12:19
Bonjour à tous,
Voici l'exemple fourni par Microsoft:
Private Sub MSHFlexGrid1_Click ()
' Place du texte dans la troisième ligne, troisième colonne.
MSHFlexGrid1.Col = 2
MSHFlexGrid1. Row =2
MSHFlexGrid1.Text ="Là"
End Sub

Donc, si on lit bien, place du texte dans la 3ème ligne, 3ème colonne.
Or, il est marqué ....col=2 et rox=2
En réalité, ça ne fonctionne même pas, "là" est placé à la ligne 1 et colonne 1

Qui pourrait m'expliquer ce phénomène?
Attention, c'est le contrôle MSHFlexgrid dont il s'agit et non du MSFlexgrid qui ne réagit de la même manière.
J'utilise une Base Access 2000
D'avance merci,
Guy FALESSE
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Dernière intervention
11 mars 2006
3
Merci
Re,

Si je fais ceci (les entêtes sont affichées), je reçois dans mon TextBox la valeur de la cellule sur laquelle j'ai cliqué.



Private Sub MSHFlexGrid1_Click()

Text1 = MSHFlexGrid1.Text

End Sub



jpleroisse

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Messages postés
316
Date d'inscription
jeudi 9 janvier 2003
Dernière intervention
1 février 2010
0
Merci
hum ... si je me trompe pas, je pense que deja, on commence a 0
donc ca devrais bien marquer a (3,3) le petit problème c'est que je
sais pas si les deux premiere instructions ne font que dimensionner le
Grid ou si on place le curseur ....


MSHFlexGrid1.Col = 2

MSHFlexGrid1. Row =2



MSHFlexGrid1.Text = "Là"



si tu veux ecrire a un endroit precis, utilise ca :



MSHFlexGrid1. TextMatrix (2, 2) ="Là"



voila voila, bonne programmation :o)

--Capoueidiablo--
Messages postés
62
Date d'inscription
samedi 19 février 2005
Dernière intervention
18 novembre 2012
0
Merci
Salut Capouediabolo,

Merci de ta réponse,
J'ai fait ceci, comme tu me l'as indiqué./auteurdetail.aspx?ID=31625Private Sub Command2_Click()

Text8.Text = MSHFlexGrid1.TextMatrix(1, 1)
Text9.Text = MSHFlexGrid1.TextMatrix(1, 2)
Text10.Text = MSHFlexGrid1.TextMatrix(1, 4)
' Place du texte dans la troisième ligne, troisième colonne.
MSHFlexGrid1.Col = 2
MSHFlexGrid1.Row = 1
MSHFlexGrid1.TextMatrix(1, 2) = "Là"
End Sub

Problème, est que le mot"là" ne s'écrit pas dans le MSHFlexgrid masi dans le TextBox9.
Je ne comprends rien.
@+
Guy FALESSE
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Dernière intervention
11 mars 2006
0
Merci
Bonjour,

En tous cas ce code fonctionne chez moi.Le texte "Là" est bien placer
dans la 3ème ligne et 3ème colonne (La colonne Header est comptée dans
le nbe de colonnes). Dans les propriété /Personnalisé, supprime
FixedCol et FixedRow et tu verras.



Private Sub Command1_Click()

Text1.Text = MSFlexGrid1.TextMatrix(2, 2)

End Sub



Private Sub Form_Load()

MSFlexGrid1.Rows = 8

MSFlexGrid1.Cols = 5

End Sub



Private Sub MsFlexGrid1_Click()

' Placer le texte dans la cellule en cours.

MSFlexGrid1.Text = "Ici"

' Placer le texte dans la cellule de la troisième ligne, troisième colonne.

MSFlexGrid1.Col = 2

MSFlexGrid1.Row = 2

MSFlexGrid1.Text = "Là"

End Sub





jpleroisse
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Dernière intervention
11 mars 2006
0
Merci
Re,

Autant pour moi, j'ai utilisé un MSFlexGrid et ça marche, par contre je
viens de placer un MSHFlexGrid et là, effectivement ça ne marche pas,
j'ai le même problème que toi.



jpleroisse
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Dernière intervention
11 mars 2006
0
Merci
Re, décidément, ma journée commence mal, j'avais oublié de changer ma
commande MSFlexGrid en MSHFlexgrid. C'est fais et ça marche aussi.



jpleroisse
Messages postés
62
Date d'inscription
samedi 19 février 2005
Dernière intervention
18 novembre 2012
0
Merci
Salut jpleroisse,

Merci de ta réponse :-)

>En tous cas ce code fonctionne chez moi.Le texte "Là" est bien placer dans la 3ème l>igne et 3ème colonne (La colonne Header est comptée dans le nbe de colonnes). >Dans les propriété /Personnalisé, supprime FixedCol et FixedRow et tu verras.

Si je supprime la ligne des entêtes, ça fonctionne, mais je n'ai plus d'entête, alors comment peut-on faire pour afficher ces entêtes?

>La colonne Header est comptée dans le nbe de colonnes
Pourtant header veut bien dire entête, mois ce qui m'intéresse c'est la position des lignes.
D'avance merci

Guy FALESSE
Messages postés
62
Date d'inscription
samedi 19 février 2005
Dernière intervention
18 novembre 2012
0
Merci
Salut jpleroisse,


En fait, ces essai-là ont été effectués dans le but de retrouver la valeur d'une cellule de la 2ème ligne, la 1ère étant considérée comme celle des entêtes.


Or, si je clique dans une cellule de la 2ème ligne (donc les data) je reçois zéro comme valeur, si je clique sur la 3ème ligne, je reçois la valeur de la 2ème ligne.


D'où ma question, comment configurer cette satanée MSHFlexgrid pour que les entêtes soient affichées et que lorsque je clique dans une cellule, que je reçoive la bonne valeur.


Est-ce possible ou pas?


En fait, mon but est de pouvoir filtrer le MSHFlexgrid par rapport à la cellule sélectionnée, comme dans une table Access.


Donc, pour résumer, la valeur de cette cellule est copiée dans unTextBox et c'est lui qui sert de filtre.
Evidemment, si on a les mauvaises réponses, ce n'est pas la peine de filtrer. :-(
Ce n'était pas facile à expliquer, peut-être que ça ira mieux maintenant

Voilà, voilà,

@+

Guy FALESSE

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.