​Bonjour,

Après la mise au point d'un code test exécutant du Drag-Drop entre DataGridView (la discussion Drag & Drop entre DataGridView), je souhaite maintenant faire du Copier-Coller ( <CTRL><C> / <CTRL><V> ) entre ces DGV.

Voici ma procédure de test :

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
16
Private Sub DGV_KeyUp(sender As Object, e As KeyEventArgs) Handles DGV1.KeyUp, DGV2.KeyUp
        Dim DGV As DataGridView = CType(sender, DataGridView)
        If e.Control Then
            MessageBox.Show(sender.name)
            If e.KeyCode = Keys.C Then
                Clipboard.SetDataObject(DGV.SelectedRows)
            Else
                If e.KeyCode = Keys.V Then
                    Dim Selection As IDataObject = Clipboard.GetDataObject()
                    For Each R As DataGridViewRow In Selection.GetData(GetType(DataGridViewSelectedRowCollection))
                        DGV.Rows.Add(R)
                    Next
                End If
            End If
        End If
    End Sub
Il me semble que seule la partie <CTRL><V> pose un problème. Un Selection.GetDataPresent renvoie True. Mais une erreur "La référence d'objet n'est pas définie à une instance d'un objet." vient à la ligne "For Each R ... ".

Qu'ai-je mal programmé ?

Cordialement,

Sam