Pressepapiers>plage

errog

XLDnaute Junior
Bonjour,
Je voudrais copier le contenu du presse papiers ( ça sera a chaque fois qq lignes ) dans une colonne par exemple : 3 lignes sont stockées dans le presse papiers et je veux les coller via une macro en B2,B3,B4.

Se posent 2 pbs :
- Je ne sais pas utiliser Paste ( une erreur apparait) :confused:
- avec mes différents essais , seule une ligne est stockée en B2 :confused::confused:

Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Pressepapiers>plage

Re Errog

Regarde le code ci dessous, si cela ne fonctionne pas, peut être qu'un fichier avec un exemple des données copiées nous aiderait :

Code:
Sub test()
'activer la reference Microsoft Forms 2.0 Object Library
Dim x As New DataObject, z, i As Byte
x.GetFromClipboard
z = Split(x.GetText(1), vbCrLf)
For i = LBound(z) To UBound(z)
    Range("B" & i + 2).Value = z(i)
Next i
End Sub

@+
 

errog

XLDnaute Junior
Re : Pressepapiers>plage

Bonjour,
Question subsidiaire : et l'inverse ?:le bout de code précédent a-til un pti frere qui permet de copier une plage dans le presse papier ou bien y atil une solution plus simple ?
Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Pressepapiers>plage

Bonjour Errog

voici le petit frère :

Code:
Sub test2()
Dim x As New DataObject
x.SetText "123456789" & vbCrLf & "ABCDEFGHI"
x.PutInClipboard
End Sub

sinon, plus classique, pour copier une plage de cellule, mais ca tu connais :

Code:
Range("A1:B10").Copy

bonne journée
@+
 

errog

XLDnaute Junior
Re : Pressepapiers>plage

Rebonjour Pierrot93,

Je n'ai pas encore osé utiliser le "pti frere"
par contre avec la ligne
PHP:
Range("A1:A3").copy par exemple

le contenu du presse papier est écrit en ligne
contenu A1 espace contenuA2 ...
alors que je le voudrais en colonne ( avec passage a la ligne ) en fait dans la meme configuration que les cellules d'origine.
Merci
 

Discussions similaires

Réponses
2
Affichages
705

Statistiques des forums

Discussions
312 502
Messages
2 089 026
Membres
104 008
dernier inscrit
jojo1966