1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
Public Sep As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Culture As CultureInfo
Dim FormatInfo As NumberFormatInfo
'récupère le séparateur décimal
Culture = CultureInfo.InstalledUICulture
FormatInfo = Culture.NumberFormat
Sep = FormatInfo.NumberDecimalSeparator
'suite de ton code si il y a dans Load...
End Sub
Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
With DataGridView1
'teste la colonne, à adapter
Select Case .CurrentCell.ColumnIndex
Case 2, 3, 4
Try
'si pas de présence du séparateur décimal, génère une erreur
If InStr(.CurrentCell.Value, Sep) = 0 Then
Err.Raise(vbObjectError + 1000)
End If
Catch ex As Exception
MsgBox("La valeur doit être décimale !", _
MsgBoxStyle.Exclamation, _
"Test")
.CurrentCell.Value = ""
End Try
End Select
End With
End Sub
'ci-dessous, Pas obligatoire pour ce que tu veux faire mais peut être pratique
Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
Dim Cellule As DataGridViewTextBoxEditingControl
Try
'contrôle ce qui est entrée et si c'est un point ou une virgule
'le modifie si nécessaire
Cellule = CType(e.Control, DataGridViewTextBoxEditingControl)
AddHandler Cellule.KeyPress, AddressOf Separateur
Catch ex As Exception
End Try
End Sub
Private Sub Separateur(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
'modifie le séparateur si il ne correspond pas
'offre la possibilité à l'utilisateur du point ou de la virgule
If e.KeyChar = "." Or e.KeyChar = "," Then
If e.KeyChar <> Sep Then
e.KeyChar = Sep
End If
End If
End Sub |
Partager