Bonjour à tous ,
J'ai encore un petit problème :
Je cherche à valider le contenu d'une cellule lorsque l'utilisateur à terminé la saisie complète du texte dans la cellule. Je tente d'utiliser pour cela le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 Private Sub DataGridViewMain_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridViewMain.CellEndEdit
        Dim ColName As String = DataGridViewMain.Columns(e.ColumnIndex).Name
        Dim key As Integer = CInt(ValuefromDB(DataGridViewMain.Rows(e.RowIndex).Cells("Key").Value))
        Dim Value As Object = ValuefromDB(DataGridViewMain.Rows(e.RowIndex).Cells(e.ColumnIndex).Value)
 
        Select Case ColName
            Case "Repere"
                Dim NewRepere As String = CType(Value, String)
                If _Projet.Segments.DicoRepere.ContainsKey(NewRepere) Then
                    MessageBox.Show(String.Format("le Repere {0} existe déja dans la collection, l'opération va être annulée", NewRepere), "Repere existant", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                Else
                    _Projet.Segments(key).Repere = CType(Value, String)
                End If
        End Select
    End Sub
Le problème c'est que j'au un tri automatique justement sur la colonne qui contient la cellule que je veux éditer et valider, et les valeurs que j'obtient correspondent aux valeurs de la ligne qui vient en remplacement de ma ligne en cours d’édition une fois le trie effectué.
Je ne comprends pas du tout ce comportement. Lorsque je suis dans l'event de EndEdit de la cellule je m'attends à obtenir un e.rowindex qui me permet de lire la dite cellule....hors ce n'st pas le cas.

Pouvez vous m'aider et m'expliquer un peu ce qui se passe...