Page Accueil FAQ MPFE Liens Format de nombres Téléchargement Applications Combinaisons


* * *
  SOMMAIRE
  La FAQ
  VBAXL
  BASIC
  ASTUCES
Exemples
  Boucles
  Cellules
  Cellules 2
  Divers
  Erreurs
  Fichiers
  Feuilles
  Impression
  Médias
  Messages
  Outils
  Spéciales
  Tests
  Le Web
  Userform
  XL et Word
  XL Clipboard
  XL 2007
  XL et XML
 
  Macro :o)
  Réactions
  Livre d'Or

 

titre


Excel et le Presse-Papier

Sous Excel 2000. Si vous ne l'avez pas déjà fait :
Dans l'éditeur VB, ajoutez une référence à "Microsoft Form 2.0 Object Library."
Menu Outils --> Références

Mets la chaîne "Excel est super!" dans le presse-papier:

Sub Envoi()
With New DataObject
.SetText "Excel est super!"
.PutInClipboard
End With
End Sub

Et pour récupérer la chaîne

Sub Retour()
With New DataObject
.GetFromClipboard
Contenu = .GetText(1)
End With
MsgBox Contenu
End Sub

Pour récupérer la chaîne avec "Coller"

Raccourci CTRL V

Sub AvecSendKey()
Application.SendKeys "^{v}"
End Sub

Pour récupérer la chaîne dans la cellule A1

Sub ColleDansA1()
Dim Presspp As New DataObject
Presspp.GetFromClipboard
Range("A1") = Presspp.GetText
End Sub

Pour récupérer la chaîne dans un cadre de texte.

Sub ColleDansCadre()
Dim Presspp As New DataObject
Presspp.GetFromClipboard
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 16.5, 21#, _
186.75, 126.75).Select
Selection.Characters.Text = Presspp.GetText
End Sub

Récupère le texte complet du PressePapier. Laurent L.

Sub PressePapier()
Dim Texte As String, Ligne As String
Dim I As Integer, J As Integer
Dim DObj As New DataObject
DObj.GetFromClipboard
Texte = DObj.GetText(1)

Do
I = J + 1
J = InStr(I, Texte, vbCr)
Ligne = Mid$(Texte, I, IIf(J, J - I, Len(Texte) - I + 1))
MsgBox Ligne
Loop While J
End Sub

Et pour vider le contenu du Presse-Papier

Sub Vide()
Application.CutCopyMode = False
End Sub

Et pour vider le contenu du Presse-Papier(2)

Private Declare Function OpenClipboard Lib "user32"(ByVal hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard Lib "user32" () As Long

Sub VidePP()
OpenClipboard 0
EmptyClipboard
CloseClipboard
End Sub

Nomme la feuille active avec le contenu du Presse-Papier

Cocher la réference: Microsoft ActiveX DataObjects 2.0 Library

Sub NomFeuilClipboard()
Dim FeuilObj As New DataObject
FeuilObj.GetFromClipboard
ActiveSheet.Name = FeuilObj.GetText(1)
End Sub

 

[top]

 

     
 ©Conception et Graphisme. Daniel Josserand . Novembre 2000