Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres Copier dans presse papier ligne de Listview

FOUQUET Yves

XLDnaute Occasionnel
Bonjour,

J'affiche un Listview (Listview1) avec une liste d'adhérents.
J'ai mis un bouton (Button3_click) pour copier une ligne sélectionnée (lignelist) de Listview1 (tous les champs) dans le presse papier.

J'ai mis ce code qui ne fonctionne pas.

j'ai l'erreur: Variable non définie acCmdCopy

VB:
Private Sub CommandButton3_Click()

lignelist = ListView1.SelectedItem.Index + 1

'Lignelist.SetFocu
ListView1.SetFocus

DoCmd.RunCommand acCmdCopy
End Sub

Qu'ai-je oublié de déclarer ?
Merci de votre aide.
Yves
 

FOUQUET Yves

XLDnaute Occasionnel
J'ai aussi essayé cela mais sans succès
j'utilise une variable "Donnees_ligne" que je remplis avec les infos de la ligne de la listview1 (colonne B et C).

Erreur: Clipboard variable non définie

VB:
Private Sub CommandButton3_Click()
Dim Data As DataObject
Set Data = New DataObject

lignelist = ListView1.SelectedItem.Index + 1
Set Ws = Sheets("Effectif")
Donnees_ligne = Sheets("Effectif").Cells(lignelist, "B") & Sheets("Effectif").Cells(lignelist, "C")

Clipboard.SetDataObject (Donnees_ligne)

End Sub
:
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
bonjour
tu peux m'expliquer a quoi te sert le data object
puisque tu te sert des index de listview pour copier la ligne avec le même index sur feuille de "b" et "c"

range("b:c").rows(lignelist).copy

et c'est tout tout simplement

d'autant plus que ton titre de post n'est pas tout a fait approprié
tu copy pas du listview mais de la feuille c'est pas la meme chose
si tu devais copier les lignes d'un listview il te faudrait 2 boucles imbriquées(ligne colonne) et concaténer un text pour le mettre dans le clipboard ensuite


Think différent
 

FOUQUET Yves

XLDnaute Occasionnel

Merci de ta réponse. Mais peux tu m'expliquer un peu plus.
Je comprends qu'en faisant référence à la feuille "Effectif" je ne copie pas dans Donnees_ligne les éléments du Listview mais de la feuille.

Cependant moi je voudrai que quelque soit le trie dans la listview ce soit bien la ligne sélectionnée dans celle ci qui soit copiée dans le presse--papier.
On peu compliqué pour moi...

J'arrive à copier les éléments de la feuille dans une variable (je sais facile mais pour moi pas évident...Lol) mais pour le reste .
Quelle est la commande qui me permettrait de copier dans le presse-papier:
Clipboard.SetDataObject ?
Si oui pourquoi le message d'erreur ?
 

patricktoulon

XLDnaute Barbatruc
re
non setdataobject n'existe pas

VB:
Cependant moi je voudrai que quelque soit le trie dans la listview ce soit bien la ligne sélectionnée dans celle ci qui soit copiée dans le presse--papier.

dans ce cas la il te faire ce que j'ai dis plus haut a savoir 2boucles imbriquées mémorisant dans une variable text la donnée de chaque colonne dans la listview

la copie directe d'une ligne dans un listview ca n'existe pas
 

FOUQUET Yves

XLDnaute Occasionnel
OK, si j'ai une variable string dans laquelle j'ai par exemple récupéré NOM et PRENOM d'une ligne "Donnees_ligne".
Comment je peux copier le contenu de cette variable dans le presse papier et qu'il y reste?
merci de ton aide.
 

patricktoulon

XLDnaute Barbatruc
voici comment ( 1 méthode parmi d'autres en vba)on met une valeur quelconque dans le clipboard
de cette manière pas de référence a activer
VB:
  With CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .SetText "blablablablabla": .PutInClipboard: End With
te reste plus qu'a boucler pour récupérer les item et sub item en les concaténant puis mettre dans le clip
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…