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

Mémoire tampon, accès direct ?

4 réponses
Avatar
JeNeVois
Bonjour !

Y a t-il la possibilité en VBA Excel de saisir le contenu
de la mémoire tampon directement dans une variable
sans le déposer d'abord dans une cellule avec "Paste" ?

Merci et bonnes fêtes !

4 réponses

Avatar
anonymousA
Bonjour,

p.e si j'ai bien compris ta demande

Set MyData = New DataObject
Cells(1, 1).Copy
with MyData
.GetFromClipboard
MsgBox .GetText
End with

A+

Bonjour !

Y a t-il la possibilité en VBA Excel de saisir le contenu
de la mémoire tampon directement dans une variable
sans le déposer d'abord dans une cellule avec "Paste" ?

Merci et bonnes fêtes !





Avatar
JeNeVois
Bonsoir anonymousA,

Merci pour ta réponse !

En effet, la méthode GetFromClipboard ne m'est pas encore familière.
Telle quelle, ta macro me renvoie malheureusement l'erreur "Type défini par
l'utilisateur non défini". Mais comment déclarer ce type ?

Curieusement je ne trouve pas "Dataobject" sur la liste des
possibles définitions du "Dim ...as" et ainsi
Dim MyData as DataObject (pourtant donné dans l'exemple GetFromClipboard)
échoue.

Le but de l'éxercice est d'analyser le contenu qui se trouve dans le clipboard
avant de décider de son traîtement. Au début de la macro le contenu est donc
déjà dans le clipboard et il peut aussi venir d'une autre applicazion.

Salutations



Bonjour,

p.e si j'ai bien compris ta demande

Set MyData = New DataObject
Cells(1, 1).Copy
with MyData
.GetFromClipboard
MsgBox .GetText
End with

A+

Bonjour !

Y a t-il la possibilité en VBA Excel de saisir le contenu
de la mémoire tampon directement dans une variable
sans le déposer d'abord dans une cellule avec "Paste" ?

Merci et bonnes fêtes !








Avatar
Michel Pierron
Bonjour JeNeVois;

Si tu souhaiye utiliser DataObject, tu crées d'abord un UserForm (la
référence à Microsoft Forms 2.0 sera automatiquement ajoutée; tu peux
ensuite supprimer l'UserForm et la référence sera conservée.

Sinon, si tu ne veux pas de référence, tu peux t'en sortir avec cette
pirouette:
SetText copie une variable dans le presse-papiers.
GetText récupère une variable dans le presse-papiers.

Sub SetText()
Const sText = "Hello everybody !"
With CreateObject("InternetExplorer.Application")
.navigate "about:blank"
.document.parentWindow.clipboarddata.setData "Text", sText
.Quit
End With
End Sub

Sub GetText()
Dim sText As String
With CreateObject("InternetExplorer.Application")
.navigate "about:blank"
sText = .document.parentWindow.clipboarddata.GetData("text")
.Quit
End With
MsgBox sText, 64
End Sub

MP

"JeNeVois" a écrit dans le message de
news:

Bonjour !

Y a t-il la possibilité en VBA Excel de saisir le contenu
de la mémoire tampon directement dans une variable
sans le déposer d'abord dans une cellule avec "Paste" ?

Merci et bonnes fêtes !





Avatar
JeNeVois
Bonjour Michel Gaboly,

grand merci, cette pirouette s'adapte bien aux autres formes
de dance :)

Mais je suis quand même étonné qu'il faut toujours
une référence "physique" externe et que la variable
ne suffit pas pour se rélier à la mémoire.
Dans la fonction "Paste" il dévrait donc y avoir aussi une
recherche préalable de la source de data qui se trouve dans le
clipboard.

Bonne semaine et bonne année !

Salutations


Bonjour JeNeVois;

Si tu souhaiye utiliser DataObject, tu crées d'abord un UserForm (la
référence à Microsoft Forms 2.0 sera automatiquement ajoutée; tu peux
ensuite supprimer l'UserForm et la référence sera conservée.

Sinon, si tu ne veux pas de référence, tu peux t'en sortir avec cette
pirouette:
SetText copie une variable dans le presse-papiers.
GetText récupère une variable dans le presse-papiers.

Sub SetText()
Const sText = "Hello everybody !"
With CreateObject("InternetExplorer.Application")
..navigate "about:blank"
..document.parentWindow.clipboarddata.setData "Text", sText
..Quit
End With
End Sub

Sub GetText()
Dim sText As String
With CreateObject("InternetExplorer.Application")
..navigate "about:blank"
sText = .document.parentWindow.clipboarddata.GetData("text")
..Quit
End With
MsgBox sText, 64
End Sub

MP

"JeNeVois" a écrit dans le message de
news:

Bonjour !

Y a t-il la possibilité en VBA Excel de saisir le contenu
de la mémoire tampon directement dans une variable
sans le déposer d'abord dans une cellule avec "Paste" ?

Merci et bonnes fêtes !