Bonjour,
je souhaiterai mémoriser (en VBA) la plage de cellule copiée dans le presse-papiers.
J'explique la but final de ma question :
Sur une feuille j'ai des évènements déclenchés sur modification de cellules.
Les actions réalisées me font perdre le contenu du presse-papiers.
Je souhaiterai à la fin de ma procédure évènementielle remettre dans le presse-papier son contenu,
spécialement quand il s'agit de cellules qui viennent d'être copiées.
Est-ce possible ?
Je me suis bien entendu penché sur le sujet,
j'arrive à ce code :
Il faut aussi mettre dans un module :
Ce code fonctionne, mais avec comme "bidouille" la ligne "Set Memo_Clipboard = Selection" :
Je mémorise la sélection actuelle, donc la sélection correspondante à la zone "collée",
qui n'est pas forcément la même que le zone "copiée".
Je recherche donc à mémorisée la zone copiée...
Merci d'avance de vous pencher sur mon cas !
je souhaiterai mémoriser (en VBA) la plage de cellule copiée dans le presse-papiers.
J'explique la but final de ma question :
Sur une feuille j'ai des évènements déclenchés sur modification de cellules.
Les actions réalisées me font perdre le contenu du presse-papiers.
Je souhaiterai à la fin de ma procédure évènementielle remettre dans le presse-papier son contenu,
spécialement quand il s'agit de cellules qui viennent d'être copiées.
Est-ce possible ?
Je me suis bien entendu penché sur le sujet,
j'arrive à ce code :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'--- Déclaration des variables
Dim Memo_Clipboard As Range
'--- Test si le contenu du presse-papiers est une plage de cellules
'--- et enregistre la plage
If CountClipboardFormats = 29 Then
Set Memo_Clipboard = Selection
End If
'--- Code de l'évènement
Application.CutCopyMode = False
'--- Restaure le contenu du presse-papiers
If Not Memo_Clipboard Is Nothing Then
Memo_Clipboard.Copy
End If
End Sub
Il faut aussi mettre dans un module :
Code:
Declare Function CountClipboardFormats Lib "user32" () As Long
Ce code fonctionne, mais avec comme "bidouille" la ligne "Set Memo_Clipboard = Selection" :
Je mémorise la sélection actuelle, donc la sélection correspondante à la zone "collée",
qui n'est pas forcément la même que le zone "copiée".
Je recherche donc à mémorisée la zone copiée...
Merci d'avance de vous pencher sur mon cas !