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

VBA : récupérer dans un tableau le contenu du presse papier ?

4 réponses
Avatar
Alfred WALLACE
Bonjour,
j'ai cherch=E9 (mais surement comme un pieds) ce que l'on pouvait faire
entre le VBA et le presse papier, je n'ai trouver que des =E9l=E9ments qui
envoient des
donn=E9es "copi=E9es" dans le presse papier.

Moi, je cherche =E0 faire le contraire.
j'ai une liste de nom, les uns en dessous des autres. dans une
application X.
je les selectionne, et j'aimerai, par une macro vba (je pense)
r=E9cup=E9rer ces valeurs dans un tableau de type Variant

ex :
Dim recip(25) as Variant

Recip() =3D recup-clipboard

voila.
merci encore pour vos informations.

Jos=E9

4 réponses

Avatar
isabelle
bonjour Alfred,

SubMacro1()
Dim recip()
Set plage = Sheets("Feuil1").Range("A2:A12")
For i = 1 To plage.Count
ReDim Preserve recip(i)
recip(i) = plage(i)
Next
'copie la liste de nom dans la feuille 2
Sheets("Feuil2").Range("A1").Resize(UBound(recip, 1), 1) =
Application.Transpose(recip)
End Sub

isabelle

Alfred WALLACE a écrit :
Bonjour,
j'ai cherché (mais surement comme un pieds) ce que l'on pouvait faire
entre le VBA et le presse papier, je n'ai trouver que des éléments qui
envoient des
données "copiées" dans le presse papier.

Moi, je cherche à faire le contraire.
j'ai une liste de nom, les uns en dessous des autres. dans une
application X.
je les selectionne, et j'aimerai, par une macro vba (je pense)
récupérer ces valeurs dans un tableau de type Variant

ex :
Dim recip(25) as Variant

Recip() = recup-clipboard

voila.
merci encore pour vos informations.

José




Avatar
Alfred WALLACE
Merci Isabelle, pour ton aide.
cependant, je ne vois nulle part à quel endroit
tu récupéres le contenu du presse papier ?

j'ai surement mal formulé ma question, je m'explique :

je suis dans un document X, comme word, ou le blocnotes.
je selectionne les données (par exemple, une liste de noms) et je les
colles dans le presse papier (CTRL+C)

j'aimerai, en vba, récupérer le contenu de ce presse papier
et le coller dans un tableau de type Variant déclaré comme suit :
Dim recip(25) as Variant

voili voilou ..

Merci encore pour votre aide.
José (heu alfred c'est mon pseudo ...)









On 14 oct, 18:14, isabelle wrote:
bonjour Alfred,

SubMacro1()
Dim recip()
Set plage = Sheets("Feuil1").Range("A2:A12")
For i = 1 To plage.Count
ReDim Preserve recip(i)
recip(i) = plage(i)
Next
'copie la liste de nom dans la feuille 2
Sheets("Feuil2").Range("A1").Resize(UBound(recip, 1), 1) =
Application.Transpose(recip)
End Sub

isabelle

Alfred WALLACE a écrit :

> Bonjour,
> j'ai cherché (mais surement comme un pieds) ce que l'on pouvait faire
> entre le VBA et le presse papier, je n'ai trouver que des éléments qui
> envoient des
> données "copiées" dans le presse papier.

> Moi, je cherche à faire le contraire.
> j'ai une liste de nom, les uns en dessous des autres. dans une
> application X.
> je les selectionne, et j'aimerai, par une macro vba (je pense)
> récupérer ces valeurs dans un tableau de type Variant

> ex :
> Dim recip(25) as Variant

> Recip() = recup-clipboard

> voila.
> merci encore pour vos informations.

> José


Avatar
LSteph
Bonjour,

Si l'on s'en tient à l'objectif que tu as indiqué:
j'ai une liste de nom, les uns en dessous des autres. dans une
application X.
je les selectionne, et j'aimerai, par une macro vba (je pense)
récupérer ces valeurs dans un tableau de type Variant


il me semble que plus drectement la macro d'Isabelle t'indique comment
faire et sans avoir à gérer le presse papier.

Cordialement

--
lSteph

On 15 oct, 11:27, Alfred WALLACE wrote:
Merci Isabelle, pour ton aide.
cependant, je ne vois nulle part à quel endroit
tu récupéres le contenu du presse papier ?

j'ai surement mal formulé ma question, je m'explique :

je suis dans un document X, comme word, ou le blocnotes.
je selectionne les données (par exemple, une liste de noms) et je les
colles dans le presse papier (CTRL+C)

j'aimerai, en vba, récupérer le contenu de ce presse papier
et le coller dans  un tableau de type Variant déclaré comme suit :
Dim recip(25) as Variant

voili voilou ..

Merci encore pour votre aide.
José (heu alfred c'est mon pseudo ...)

On 14 oct, 18:14, isabelle wrote:



> bonjour Alfred,

> SubMacro1()
> Dim recip()
> Set plage = Sheets("Feuil1").Range("A2:A12")
> For i = 1 To plage.Count
> ReDim Preserve recip(i)
> recip(i) = plage(i)
> Next
> 'copie la liste de nom dans la feuille 2
> Sheets("Feuil2").Range("A1").Resize(UBound(recip, 1), 1) =
> Application.Transpose(recip)
> End Sub

> isabelle

> Alfred WALLACE a écrit :

> > Bonjour,
> > j'ai cherché (mais surement comme un pieds) ce que l'on pouvait fai re
> > entre le VBA et le presse papier, je n'ai trouver que des élément s qui
> > envoient des
> > données "copiées" dans le presse papier.

> > Moi, je cherche à faire le contraire.
> > j'ai une liste de nom, les uns en dessous des autres. dans une
> > application X.
> > je les selectionne, et j'aimerai, par une macro vba (je pense)
> > récupérer ces valeurs dans un tableau de type Variant

> > ex :
> > Dim recip(25) as Variant

> > Recip() = recup-clipboard

> > voila.
> > merci encore pour vos informations.

> > José- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
isabelle
bonjour Alfred,

si tu veut absolument utilisé le presse papier,
'il faut activé la référence : Microsoft Forms 2.0 Object Library
et faire la sélection de la plage à copier au préalable

Sub Macro1()
Dim PressePapier As New dataobject
Set PressePapier = New dataobject
For Each c In Selection
MonText = MonText & c
Next
PressePapier.SetText MonText
PressePapier.PutInClipboard
End Sub

isabelle

Alfred WALLACE a écrit :
Merci Isabelle, pour ton aide.
cependant, je ne vois nulle part à quel endroit
tu récupéres le contenu du presse papier ?

j'ai surement mal formulé ma question, je m'explique :

je suis dans un document X, comme word, ou le blocnotes.
je selectionne les données (par exemple, une liste de noms) et je les
colles dans le presse papier (CTRL+C)

j'aimerai, en vba, récupérer le contenu de ce presse papier
et le coller dans un tableau de type Variant déclaré comme suit :
Dim recip(25) as Variant

voili voilou ..

Merci encore pour votre aide.
José (heu alfred c'est mon pseudo ...)









On 14 oct, 18:14, isabelle wrote:

bonjour Alfred,

SubMacro1()
Dim recip()
Set plage = Sheets("Feuil1").Range("A2:A12")
For i = 1 To plage.Count
ReDim Preserve recip(i)
recip(i) = plage(i)
Next
'copie la liste de nom dans la feuille 2
Sheets("Feuil2").Range("A1").Resize(UBound(recip, 1), 1) >> Application.Transpose(recip)
End Sub

isabelle

Alfred WALLACE a écrit :


Bonjour,
j'ai cherché (mais surement comme un pieds) ce que l'on pouvait faire
entre le VBA et le presse papier, je n'ai trouver que des éléments qui
envoient des
données "copiées" dans le presse papier.

Moi, je cherche à faire le contraire.
j'ai une liste de nom, les uns en dessous des autres. dans une
application X.
je les selectionne, et j'aimerai, par une macro vba (je pense)
récupérer ces valeurs dans un tableau de type Variant

ex :
Dim recip(25) as Variant

Recip() = recup-clipboard

voila.
merci encore pour vos informations.

José