Comment copier un texte quelconque (non issu d'une cellule) dans le presse =
papier dans une macro VBA ?
Je voudrais ensuite faire un coller dans une autre application...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel__D
Bonjour, Le 02/09/2017 13:09, Alf a écrit :
Bonjour à tous, Comment copier un texte quelconque (non issu d'une cellule) dans le presse papier dans une macro VBA ? Je voudrais ensuite faire un coller dans une autre application... Merci pour votre aide Alf
Regarde le lien ci-dessous https://www.thespreadsheetguru.com/blog/2015/1/13/how-to-use-vba-code-to-copy-text-to-the-clipboard
Bonjour,
Le 02/09/2017 13:09, Alf a écrit :
Bonjour à tous,
Comment copier un texte quelconque (non issu d'une cellule) dans le presse papier dans une macro VBA ?
Je voudrais ensuite faire un coller dans une autre application...
Merci pour votre aide
Alf
Regarde le lien ci-dessous
https://www.thespreadsheetguru.com/blog/2015/1/13/how-to-use-vba-code-to-copy-text-to-the-clipboard
Bonjour à tous, Comment copier un texte quelconque (non issu d'une cellule) dans le presse papier dans une macro VBA ? Je voudrais ensuite faire un coller dans une autre application... Merci pour votre aide Alf
Regarde le lien ci-dessous https://www.thespreadsheetguru.com/blog/2015/1/13/how-to-use-vba-code-to-copy-text-to-the-clipboard
Alf
Le samedi 2 septembre 2017 13:09:58 UTC+2, Alf a écrit :
Bonjour à tous, Comment copier un texte quelconque (non issu d'une cellule) dans le press e papier dans une macro VBA ? Je voudrais ensuite faire un coller dans une autre application... Merci pour votre aide Alf
Bonjour, J'avais trouvé ce lien mais lorsque je fais mon CTRL+V dans, par exemp le, le bloc note, rien n'est copié... Merci pour votre aide Alf
Le samedi 2 septembre 2017 13:09:58 UTC+2, Alf a écrit :
Bonjour à tous,
Comment copier un texte quelconque (non issu d'une cellule) dans le press e papier dans une macro VBA ?
Je voudrais ensuite faire un coller dans une autre application...
Merci pour votre aide
Alf
Bonjour,
J'avais trouvé ce lien mais lorsque je fais mon CTRL+V dans, par exemp le, le bloc note, rien n'est copié...
Le samedi 2 septembre 2017 13:09:58 UTC+2, Alf a écrit :
Bonjour à tous, Comment copier un texte quelconque (non issu d'une cellule) dans le press e papier dans une macro VBA ? Je voudrais ensuite faire un coller dans une autre application... Merci pour votre aide Alf
Bonjour, J'avais trouvé ce lien mais lorsque je fais mon CTRL+V dans, par exemp le, le bloc note, rien n'est copié... Merci pour votre aide Alf
News.aioe.org
Bonjour, Si le texte ne se trouve pas dans une cellule, où est le texte que tu veux copier dans le presse-papier? Donne quelques exemples clairs et précis de ce que tu veux faire... MichD
Bonjour,
Si le texte ne se trouve pas dans une cellule, où est le texte que tu veux
copier dans le presse-papier?
Donne quelques exemples clairs et précis de ce que tu veux faire...
Bonjour, Si le texte ne se trouve pas dans une cellule, où est le texte que tu veux copier dans le presse-papier? Donne quelques exemples clairs et précis de ce que tu veux faire... MichD
Michel__D
Re, Le 02/09/2017 15:07, Alf a écrit :
Le samedi 2 septembre 2017 13:09:58 UTC+2, Alf a écrit :
Bonjour à tous, Comment copier un texte quelconque (non issu d'une cellule) dans le presse papier dans une macro VBA ? Je voudrais ensuite faire un coller dans une autre application... Merci pour votre aide Alf
Bonjour, J'avais trouvé ce lien mais lorsque je fais mon CTRL+V dans, par exemple, le bloc note, rien n'est copié... Merci pour votre aide Alf
Voici le code que j'utilise (qui fonctionne) ' Module1 Option Explicit Declare Function OpenClipboard Lib "user32.dll" (ByVal hWnd As Long) As Long Declare Function CloseClipboard Lib "user32.dll" () As Long Declare Function EmptyClipboard Lib "user32.dll" () As Long Declare Function IsClipboardFormatAvailable Lib "user32.dll" (ByVal wFormat As Long) As Long Declare Function GetClipboardData Lib "user32.dll" (ByVal wFormat As Long) As Long Declare Function SetClipboardData Lib "user32.dll" (ByVal wFormat As Long, ByVal hMem As Long) As Long Declare Function GlobalAlloc Lib "kernel32.dll" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long Declare Function GlobalLock Lib "kernel32.dll" (ByVal hMem As Long) As Long Declare Function GlobalUnlock Lib "kernel32.dll" (ByVal hMem As Long) As Long Declare Function GlobalSize Lib "kernel32.dll" (ByVal hMem As Long) As Long Declare Function lstrcpy Lib "kernel32.dll" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long Public Const GHND = &H42 Public Const CF_TEXT = 1 ' Const CF_UNICODETEXT As Long = &HD Function SetClipboard(MyString As String) ' https://www.thespreadsheetguru.com/blog/2015/1/13/how-to-use-vba-code-to-copy-text-to-the-clipboard Dim hGlobalMemory As Long, lpGlobalMemory As Long Dim hClipMemory As Long, X As Long If Len(MyString) = 0 Then If OpenClipboard(0&) = 0 Then MsgBox "Could not open the Clipboard. Copy aborted." Exit Function End If X = EmptyClipboard() If CloseClipboard() = 0 Then MsgBox "Could not close Clipboard." Else hGlobalMemory = GlobalAlloc(GHND, Len(MyString) + 1) ' Allocate moveable global memory lpGlobalMemory = GlobalLock(hGlobalMemory) ' Lock mem. to get a far pointer to this memory. lpGlobalMemory = lstrcpy(lpGlobalMemory, MyString) ' Copy the string to this global memory. If GlobalUnlock(hGlobalMemory) <> 0 Then ' Unlock the memory. MsgBox "Could not unlock memory location. Copy aborted." Else If OpenClipboard(0&) = 0 Then ' Open the Clipboard to copy data to. MsgBox "Could not open the Clipboard. Copy aborted." Exit Function End If X = EmptyClipboard() ' Clear the Clipboard. hClipMemory = SetClipboardData(CF_TEXT, hGlobalMemory) ' Copy the data to the Clipboard. If CloseClipboard() = 0 Then MsgBox "Could not close Clipboard." End If End If End Function
Re,
Le 02/09/2017 15:07, Alf a écrit :
Le samedi 2 septembre 2017 13:09:58 UTC+2, Alf a écrit :
Bonjour à tous,
Comment copier un texte quelconque (non issu d'une cellule) dans le presse papier dans une macro VBA ?
Je voudrais ensuite faire un coller dans une autre application...
Merci pour votre aide
Alf
Bonjour,
J'avais trouvé ce lien mais lorsque je fais mon CTRL+V dans, par exemple, le bloc note, rien n'est copié...
Merci pour votre aide
Alf
Voici le code que j'utilise (qui fonctionne)
' Module1
Option Explicit
Declare Function OpenClipboard Lib "user32.dll" (ByVal hWnd As Long) As Long
Declare Function CloseClipboard Lib "user32.dll" () As Long
Declare Function EmptyClipboard Lib "user32.dll" () As Long
Declare Function IsClipboardFormatAvailable Lib "user32.dll" (ByVal wFormat As Long) As Long
Declare Function GetClipboardData Lib "user32.dll" (ByVal wFormat As Long) As Long
Declare Function SetClipboardData Lib "user32.dll" (ByVal wFormat As Long, ByVal hMem As Long) As Long
Declare Function GlobalAlloc Lib "kernel32.dll" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
Declare Function GlobalLock Lib "kernel32.dll" (ByVal hMem As Long) As Long
Declare Function GlobalUnlock Lib "kernel32.dll" (ByVal hMem As Long) As Long
Declare Function GlobalSize Lib "kernel32.dll" (ByVal hMem As Long) As Long
Declare Function lstrcpy Lib "kernel32.dll" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long
Public Const GHND = &H42
Public Const CF_TEXT = 1 ' Const CF_UNICODETEXT As Long = &HD
Function SetClipboard(MyString As String)
' https://www.thespreadsheetguru.com/blog/2015/1/13/how-to-use-vba-code-to-copy-text-to-the-clipboard
Dim hGlobalMemory As Long, lpGlobalMemory As Long
Dim hClipMemory As Long, X As Long
If Len(MyString) = 0 Then
If OpenClipboard(0&) = 0 Then
MsgBox "Could not open the Clipboard. Copy aborted."
Exit Function
End If
X = EmptyClipboard()
If CloseClipboard() = 0 Then MsgBox "Could not close Clipboard."
Else
hGlobalMemory = GlobalAlloc(GHND, Len(MyString) + 1) ' Allocate moveable global memory
lpGlobalMemory = GlobalLock(hGlobalMemory) ' Lock mem. to get a far pointer to this memory.
lpGlobalMemory = lstrcpy(lpGlobalMemory, MyString) ' Copy the string to this global memory.
If GlobalUnlock(hGlobalMemory) <> 0 Then ' Unlock the memory.
MsgBox "Could not unlock memory location. Copy aborted."
Else
If OpenClipboard(0&) = 0 Then ' Open the Clipboard to copy data to.
MsgBox "Could not open the Clipboard. Copy aborted."
Exit Function
End If
X = EmptyClipboard() ' Clear the Clipboard.
hClipMemory = SetClipboardData(CF_TEXT, hGlobalMemory) ' Copy the data to the Clipboard.
If CloseClipboard() = 0 Then MsgBox "Could not close Clipboard."
End If
End If
End Function
Le samedi 2 septembre 2017 13:09:58 UTC+2, Alf a écrit :
Bonjour à tous, Comment copier un texte quelconque (non issu d'une cellule) dans le presse papier dans une macro VBA ? Je voudrais ensuite faire un coller dans une autre application... Merci pour votre aide Alf
Bonjour, J'avais trouvé ce lien mais lorsque je fais mon CTRL+V dans, par exemple, le bloc note, rien n'est copié... Merci pour votre aide Alf
Voici le code que j'utilise (qui fonctionne) ' Module1 Option Explicit Declare Function OpenClipboard Lib "user32.dll" (ByVal hWnd As Long) As Long Declare Function CloseClipboard Lib "user32.dll" () As Long Declare Function EmptyClipboard Lib "user32.dll" () As Long Declare Function IsClipboardFormatAvailable Lib "user32.dll" (ByVal wFormat As Long) As Long Declare Function GetClipboardData Lib "user32.dll" (ByVal wFormat As Long) As Long Declare Function SetClipboardData Lib "user32.dll" (ByVal wFormat As Long, ByVal hMem As Long) As Long Declare Function GlobalAlloc Lib "kernel32.dll" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long Declare Function GlobalLock Lib "kernel32.dll" (ByVal hMem As Long) As Long Declare Function GlobalUnlock Lib "kernel32.dll" (ByVal hMem As Long) As Long Declare Function GlobalSize Lib "kernel32.dll" (ByVal hMem As Long) As Long Declare Function lstrcpy Lib "kernel32.dll" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long Public Const GHND = &H42 Public Const CF_TEXT = 1 ' Const CF_UNICODETEXT As Long = &HD Function SetClipboard(MyString As String) ' https://www.thespreadsheetguru.com/blog/2015/1/13/how-to-use-vba-code-to-copy-text-to-the-clipboard Dim hGlobalMemory As Long, lpGlobalMemory As Long Dim hClipMemory As Long, X As Long If Len(MyString) = 0 Then If OpenClipboard(0&) = 0 Then MsgBox "Could not open the Clipboard. Copy aborted." Exit Function End If X = EmptyClipboard() If CloseClipboard() = 0 Then MsgBox "Could not close Clipboard." Else hGlobalMemory = GlobalAlloc(GHND, Len(MyString) + 1) ' Allocate moveable global memory lpGlobalMemory = GlobalLock(hGlobalMemory) ' Lock mem. to get a far pointer to this memory. lpGlobalMemory = lstrcpy(lpGlobalMemory, MyString) ' Copy the string to this global memory. If GlobalUnlock(hGlobalMemory) <> 0 Then ' Unlock the memory. MsgBox "Could not unlock memory location. Copy aborted." Else If OpenClipboard(0&) = 0 Then ' Open the Clipboard to copy data to. MsgBox "Could not open the Clipboard. Copy aborted." Exit Function End If X = EmptyClipboard() ' Clear the Clipboard. hClipMemory = SetClipboardData(CF_TEXT, hGlobalMemory) ' Copy the data to the Clipboard. If CloseClipboard() = 0 Then MsgBox "Could not close Clipboard." End If End If End Function
Alf
Le samedi 2 septembre 2017 13:09:58 UTC+2, Alf a écrit :
Bonjour à tous, Comment copier un texte quelconque (non issu d'une cellule) dans le press e papier dans une macro VBA ? Je voudrais ensuite faire un coller dans une autre application... Merci pour votre aide Alf
Bonjour, Là, ça fonctionne.... Jamais je n'aurais pu trouver çà tout seul.. Merci pour ton aide Michel.. Mais le plus simple aurait été, peut être, de copier le text e temporairement dans une cellule et de faire un copy paste...? Je ne sais pas si ça aurait pu marcher... Encore Merci
Le samedi 2 septembre 2017 13:09:58 UTC+2, Alf a écrit :
Bonjour à tous,
Comment copier un texte quelconque (non issu d'une cellule) dans le press e papier dans une macro VBA ?
Je voudrais ensuite faire un coller dans une autre application...
Merci pour votre aide
Alf
Bonjour,
Là, ça fonctionne....
Jamais je n'aurais pu trouver çà tout seul..
Merci pour ton aide Michel..
Mais le plus simple aurait été, peut être, de copier le text e temporairement dans une cellule et de faire un copy paste...?
Je ne sais pas si ça aurait pu marcher...
Encore Merci
Le samedi 2 septembre 2017 13:09:58 UTC+2, Alf a écrit :
Bonjour à tous, Comment copier un texte quelconque (non issu d'une cellule) dans le press e papier dans une macro VBA ? Je voudrais ensuite faire un coller dans une autre application... Merci pour votre aide Alf
Bonjour, Là, ça fonctionne.... Jamais je n'aurais pu trouver çà tout seul.. Merci pour ton aide Michel.. Mais le plus simple aurait été, peut être, de copier le text e temporairement dans une cellule et de faire un copy paste...? Je ne sais pas si ça aurait pu marcher... Encore Merci
Alf
Le samedi 2 septembre 2017 13:09:58 UTC+2, Alf a écrit :
Bonjour à tous, Comment copier un texte quelconque (non issu d'une cellule) dans le press e papier dans une macro VBA ? Je voudrais ensuite faire un coller dans une autre application... Merci pour votre aide Alf
Encore une question, le code est-il lié aux différentes versions d'excel ou de windows ?
Le samedi 2 septembre 2017 13:09:58 UTC+2, Alf a écrit :
Bonjour à tous,
Comment copier un texte quelconque (non issu d'une cellule) dans le press e papier dans une macro VBA ?
Je voudrais ensuite faire un coller dans une autre application...
Merci pour votre aide
Alf
Encore une question, le code est-il lié aux différentes versions d'excel ou de windows ?
Le samedi 2 septembre 2017 13:09:58 UTC+2, Alf a écrit :
Bonjour à tous, Comment copier un texte quelconque (non issu d'une cellule) dans le press e papier dans une macro VBA ? Je voudrais ensuite faire un coller dans une autre application... Merci pour votre aide Alf
Encore une question, le code est-il lié aux différentes versions d'excel ou de windows ?