Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VB2005] clipboard et datagrid

5 réponses
Avatar
Michel Lemaitre
Bonjour,
Je veux récupérer les données d'un datagrid (DGEnregistrement)
je cherche avec :
My.Computer.Clipboard.SetDataObject(DGEnregistrement.QUELQUECHOSE)
mais je ne trouve pas.
Merci de votre aide
Michel Lemaitre

5 réponses

Avatar
Mathieu Francesch
Bonjour Michel,

Je ne sais pas si c'est ce que vous attendez, mais à première vue je vois
déjà 2 solutions :

Première exemple :

Dim MonDataObject As New DataObject
MonDataObject .SetText(DataGridView1.Item(1, 2).Value)
My.Computer.Clipboard.SetDataObject(MonDataObject )
MessageBox.Show(Clipboard.GetText())

La surchage de DataGridView1.Item permet de passer un nom de colonne et un
index de ligne.

Sinon une deuxième solution pourrait être, je sélectionne une ou plusieurs
valeurs dans mon datagridview et je copie la sélection dans le clipboard.
Cela donnerait :

If Me.DataGridView1.GetCellCount(DataGridViewElementStates.Selected) > 0 Then

My.Computer.Clipboard.SetDataObject(Me.DataGridView1.GetClipboardContent())
MessageBox.Show(Clipboard.GetText())
End If

J'espère que cela peut vous aider.

Bonne soirée,


--
Cordialement,

Mathieu Francesch



"Michel Lemaitre" a écrit :

Bonjour,
Je veux récupérer les données d'un datagrid (DGEnregistrement)
je cherche avec :
My.Computer.Clipboard.SetDataObject(DGEnregistrement.QUELQUECHOSE)
mais je ne trouve pas.
Merci de votre aide
Michel Lemaitre



Avatar
Michel Lemaitre
Mathieu Francesch a écrit :
Bonjour Michel,

Je ne sais pas si c'est ce que vous attendez, mais à première vue je vois
déjà 2 solutions :

Première exemple :

Dim MonDataObject As New DataObject
MonDataObject .SetText(DataGridView1.Item(1, 2).Value)
My.Computer.Clipboard.SetDataObject(MonDataObject )
MessageBox.Show(Clipboard.GetText())

La surchage de DataGridView1.Item permet de passer un nom de colonne et un
index de ligne.

Sinon une deuxième solution pourrait être, je sélectionne une ou plusieurs
valeurs dans mon datagridview et je copie la sélection dans le clipboard.
Cela donnerait :

If Me.DataGridView1.GetCellCount(DataGridViewElementStates.Selected) > 0 Then

My.Computer.Clipboard.SetDataObject(Me.DataGridView1.GetClipboardContent())
MessageBox.Show(Clipboard.GetText())
End If

J'espère que cela peut vous aider.

Bonne soirée,





Bonsoir,
En fait, j'utile un datagrid et non un datagridvew. Est-il possible de
conaitre le code pour un datagrid. Merci
Michel Lemaitre
Avatar
Mathieu Francesch
Bonsoir Michel,

Est ce que cela vous convient ? :

Dim MonDataObject As New DataObject
MonDataObject.SetText(DataGrid1.Item(2, 1).ToString)
My.Computer.Clipboard.SetDataObject(MonDataObject)
MessageBox.Show(Clipboard.GetText())


A bientôt,


--
Cordialement,

Mathieu Francesch



"Michel Lemaitre" a écrit :

Mathieu Francesch a écrit :
> Bonjour Michel,
>
> Je ne sais pas si c'est ce que vous attendez, mais à première vue je vois
> déjà 2 solutions :
>
> Première exemple :
>
> Dim MonDataObject As New DataObject
> MonDataObject .SetText(DataGridView1.Item(1, 2).Value)
> My.Computer.Clipboard.SetDataObject(MonDataObject )
> MessageBox.Show(Clipboard.GetText())
>
> La surchage de DataGridView1.Item permet de passer un nom de colonne et un
> index de ligne.
>
> Sinon une deuxième solution pourrait être, je sélectionne une ou plusieurs
> valeurs dans mon datagridview et je copie la sélection dans le clipboard.
> Cela donnerait :
>
> If Me.DataGridView1.GetCellCount(DataGridViewElementStates.Selected) > 0 Then
>
> My.Computer.Clipboard.SetDataObject(Me.DataGridView1.GetClipboardContent())
> MessageBox.Show(Clipboard.GetText())
> End If
>
> J'espère que cela peut vous aider.
>
> Bonne soirée,
>
>

Bonsoir,
En fait, j'utile un datagrid et non un datagridvew. Est-il possible de
conaitre le code pour un datagrid. Merci
Michel Lemaitre



Avatar
Michel Lemaitre
Mathieu Francesch a écrit :
Bonsoir Michel,

Est ce que cela vous convient ? :

Dim MonDataObject As New DataObject
MonDataObject.SetText(DataGrid1.Item(2, 1).ToString)
My.Computer.Clipboard.SetDataObject(MonDataObject)
MessageBox.Show(Clipboard.GetText())


A bientôt,




Bonsoir,
En fait je cherche à placer le contenu de plusieurs cellules, voir de la
totalté de la grille dans le presse papier.
Merci
Michel Lemaitre
Avatar
Mathieu Francesch
Bonsoir,

J'ai bien une méthode de fainéant mais bon ... ;-)

DataGrid1.Focus()
SendKeys.Send("^a")
SendKeys.Send("^c")

Voilà, les données de votre datagrid sont dans le clipboard.

Bonne nuit,

--
Cordialement,

Mathieu Francesch



"Michel Lemaitre" a écrit :

Mathieu Francesch a écrit :
> Bonsoir Michel,
>
> Est ce que cela vous convient ? :
>
> Dim MonDataObject As New DataObject
> MonDataObject.SetText(DataGrid1.Item(2, 1).ToString)
> My.Computer.Clipboard.SetDataObject(MonDataObject)
> MessageBox.Show(Clipboard.GetText())
>
>
> A bientôt,
>
>
Bonsoir,
En fait je cherche à placer le contenu de plusieurs cellules, voir de la
totalté de la grille dans le presse papier.
Merci
Michel Lemaitre