Fran=E7ois m'a recommand=E9 de consulter la fiche 241355 pour=20
r=E9gler un plobl=E9me de saisie dans un MSFlexgrid.
j'ai consult=E9 cet article, mais il change le contenu de la=20
cellule par l'interm=E9diaire d'une TextBox
je voudrais saisir directement le contenu dans la cellule
oui.. même article.. va lire ma réponse dans l'autre fil...
David
Bonjour,
Voici un début de solution (à améliorier bien sur ! ! )
Dim memocol Dim memorow Private Sub Form_Load()
Text1.Visible = False memocol = 1 memorow = 1 End Sub
Private Sub MSFlexGrid1_Click() Text1.Visible = False drapeau = 1 End Sub
Private Sub MSFlexGrid1_DblClick() Text1.Visible = True GridEdit Asc(" ") memorow = MSFlexGrid1.MouseRow memocol = MSFlexGrid1.MouseCol drapeau = 2 End Sub
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer) If drapeau = 2 Then GridEdit KeyAscii End If End Sub
Sub GridEdit(KeyAscii As Integer) 'correcte font Text1.FontName = MSFlexGrid1.FontName Text1.FontSize = MSFlexGrid1.FontSize Select Case KeyAscii Case 0 To Asc(" ") Text1 = MSFlexGrid1 Text1.SelStart = 1000 Case Else Text1 = Chr(KeyAscii) Text1.SelStart = 1 End Select
'position du textbox Text1.Left = MSFlexGrid1.CellLeft + MSFlexGrid1.Left Text1.Top = MSFlexGrid1.CellTop + MSFlexGrid1.Top Text1.Width = MSFlexGrid1.CellWidth Text1.Height = MSFlexGrid1.CellHeight Text1.Visible = True Text1.SetFocus End Sub
Private Sub MSFlexGrid1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) MSFlexGrid1.TextMatrix(memorow, memocol) = Text1 End Sub
Jean-Pol DAVID
"JCM" a écrit dans le message de news: 038a01c3dc29$b193f720$ Bonjour
François m'a recommandé de consulter la fiche 241355 pour régler un plobléme de saisie dans un MSFlexgrid.
j'ai consulté cet article, mais il change le contenu de la cellule par l'intermédiaire d'une TextBox je voudrais saisir directement le contenu dans la cellule
Est-ce possible ? Cordialement JCM
Bonjour,
Voici un début de solution (à améliorier bien sur ! ! )
Dim memocol
Dim memorow
Private Sub Form_Load()
Text1.Visible = False
memocol = 1
memorow = 1
End Sub
Private Sub MSFlexGrid1_Click()
Text1.Visible = False
drapeau = 1
End Sub
Private Sub MSFlexGrid1_DblClick()
Text1.Visible = True
GridEdit Asc(" ")
memorow = MSFlexGrid1.MouseRow
memocol = MSFlexGrid1.MouseCol
drapeau = 2
End Sub
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
If drapeau = 2 Then
GridEdit KeyAscii
End If
End Sub
Sub GridEdit(KeyAscii As Integer)
'correcte font
Text1.FontName = MSFlexGrid1.FontName
Text1.FontSize = MSFlexGrid1.FontSize
Select Case KeyAscii
Case 0 To Asc(" ")
Text1 = MSFlexGrid1
Text1.SelStart = 1000
Case Else
Text1 = Chr(KeyAscii)
Text1.SelStart = 1
End Select
'position du textbox
Text1.Left = MSFlexGrid1.CellLeft + MSFlexGrid1.Left
Text1.Top = MSFlexGrid1.CellTop + MSFlexGrid1.Top
Text1.Width = MSFlexGrid1.CellWidth
Text1.Height = MSFlexGrid1.CellHeight
Text1.Visible = True
Text1.SetFocus
End Sub
Private Sub MSFlexGrid1_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
MSFlexGrid1.TextMatrix(memorow, memocol) = Text1
End Sub
Jean-Pol DAVID
"JCM" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de news:
038a01c3dc29$b193f720$a001280a@phx.gbl...
Bonjour
François m'a recommandé de consulter la fiche 241355 pour
régler un plobléme de saisie dans un MSFlexgrid.
j'ai consulté cet article, mais il change le contenu de la
cellule par l'intermédiaire d'une TextBox
je voudrais saisir directement le contenu dans la cellule
Voici un début de solution (à améliorier bien sur ! ! )
Dim memocol Dim memorow Private Sub Form_Load()
Text1.Visible = False memocol = 1 memorow = 1 End Sub
Private Sub MSFlexGrid1_Click() Text1.Visible = False drapeau = 1 End Sub
Private Sub MSFlexGrid1_DblClick() Text1.Visible = True GridEdit Asc(" ") memorow = MSFlexGrid1.MouseRow memocol = MSFlexGrid1.MouseCol drapeau = 2 End Sub
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer) If drapeau = 2 Then GridEdit KeyAscii End If End Sub
Sub GridEdit(KeyAscii As Integer) 'correcte font Text1.FontName = MSFlexGrid1.FontName Text1.FontSize = MSFlexGrid1.FontSize Select Case KeyAscii Case 0 To Asc(" ") Text1 = MSFlexGrid1 Text1.SelStart = 1000 Case Else Text1 = Chr(KeyAscii) Text1.SelStart = 1 End Select
'position du textbox Text1.Left = MSFlexGrid1.CellLeft + MSFlexGrid1.Left Text1.Top = MSFlexGrid1.CellTop + MSFlexGrid1.Top Text1.Width = MSFlexGrid1.CellWidth Text1.Height = MSFlexGrid1.CellHeight Text1.Visible = True Text1.SetFocus End Sub
Private Sub MSFlexGrid1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) MSFlexGrid1.TextMatrix(memorow, memocol) = Text1 End Sub
Jean-Pol DAVID
"JCM" a écrit dans le message de news: 038a01c3dc29$b193f720$ Bonjour
François m'a recommandé de consulter la fiche 241355 pour régler un plobléme de saisie dans un MSFlexgrid.
j'ai consulté cet article, mais il change le contenu de la cellule par l'intermédiaire d'une TextBox je voudrais saisir directement le contenu dans la cellule