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

Copier ( équivalent du copié collé) en VBA

12 réponses
Avatar
Thierry 46
Bonsoir à tous,

Une personne utilise un fichier Excel pour copier une cellule, la coller
dans une autre application. Pour son suivi et ne pas se tromper elle
note "fait". et ainsi de suite.

On me demande que sur un "double clic" la cellule soit copiée et soit
coloriée.
Pour le coloriage je sais:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Target.Interior.ColorIndex = 36
Cancel = True
End Sub

Mais comment pour copier de telle sorte que la personne puisse coller
dans une autre application?
Si vous avez une piste. Merci

2 réponses

1 2
Avatar
Thierry 46
Bonsoir,

J'ai utilisé la solution de michdenis qui répond à la demande qu'on
m'avait faite.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Target.Interior.ColorIndex = 36
Target.copy
Cancel = True
End Sub

J'avais la solution mais j'utilisais copy en premier, du coup la plupart
du temps je n'avais plus le collé
Sur le collage dans un formulaire Internet cela se passe bien. (ce qui
me gênait était dans le cas d'un collage dans Excel: la couleur suivait.
IL faut alors utiliser la solution de Caetera.

Pour le pointeur, ce qui me surprend c'est que:
- si je ferme Excel le collage se fait
- si je modifie n'importe quoi dans la feuille je perds la possibilité
de coller
En fait je ne sais pas ce que fait réellement "copy".

Le 30/12/2009 23:15, Gloops a écrit :
Thierry 46 a écrit, le 30/12/2009 08:11 :
Bonjour,

J'avais bien essayé Target.copy en premier. Un "copy" avant le
changement de couleur en pensant mettre dans le presse-papier que le
contenu de la cellule, or lors du coller dans une autre cellule cela
me colle aussi la couleur!

Je cherche donc à copier le contenu de la cellule puis la colorier
ensuite afin de pouvoir coller que la valeur.
Mais malgré ce mystère, la solution est bonne car le collage doit se
faire dans un formulaire Web.
Merci de ton aide.



Ah oui, quand tu copies, ça crée un pointeur sur la source, et si tu
trouves le moyen de modifier la source avant de coller, eh bien comme tu
vois la source est copiée comme elle est au moment du collage.




Comme le laisse entendre Caetera tu peux ne copier/coller que le texte.
Autrement, pour transférer avec la mise en forme précédente, le
changement de couleur ne doit intervenir qu'après avoir collé dans
l'autre application.

Un formulaire web ... tu veux dire que tu colles dans un des champs d'un
formulaire trouvé sur Internet ?
L'usage de DHTML semble recommandé.




Avatar
Gloops
Thierry 46 a écrit, le 31/12/2009 00:00 :
Pour le pointeur, ce qui me surprend c'est que:
- si je ferme Excel le collage se fait
- si je modifie n'importe quoi dans la feuille je perds la possibilité
de coller
En fait je ne sais pas ce que fait réellement "copy".




C'est vrai qu'il faut approfondir les tests.
Je vois par exemple que Word pour certaines versions demande, à la
fermeture, si il doit laisser dans le presse-papiers ce qu'on a copié.
Il n'est pas absurde de penser que certaines versions d'Excel répondent
(en sous-main) oui d'office.
1 2