IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Placer du texte dans le Buffer (copier)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut Placer du texte dans le Buffer (copier)
    Bonjour,

    Je chercher à placer du texte dans le Buffer de windows pour effectuer un copier coller d'une application à une autre.

    Concrètement : je clic sur un boutton et cela place du texte dans le buffer pour qu'il n'y ai plus qu'à coller ensuite le texte dans une autre application.

    Comment pourrai-je m'y prendre svp ?

    Merci pour votre aide.

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir,

    cela dépend principalement de la "pureté" de ce que tu cherches à faire...

    Le "pur de pur" consiste à utiliser les fonctions suivantes de la librairie user32 l'Api de Windows :
    - Openclipboard
    - CloseClipboard
    - GetClipboardData
    - SetClipboarddata
    - EmptyClipboard

    sans négliger la fonction (qui a son intérêt.... toujours dans la même librairie ) :

    - IsClipboardFormatAvailable

    Voilà !

    A étudier, donc (et très éloigné de VBA) ... En te précisant que VBA ne gère pas (comme VB le gère) l'objet Clipboard .... (hé non...).

    A moins que tu ne préfères finalement te contenter de jouer avec la souris, si tout celà te fait peur... (et tout est alors plus simple mais dépend des aptitudes de l'utilisateur final).

    Ou alors (et si les deux applications sont des applications Windows que tu maitrises) : tu peux t'intéresser aux conversations DDE ... (à étudier).

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tout dépend où setrouve ton texte. Pris dans une cellule, tu peux faireMais il faut placer le texte dans la cellule

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour tlm,

    Je suis d'accord sur le principe
    Donnez un poisson à un homme, il mangera une journée, apprenez lui à pêcher, il mangera toute sa vie
    Mais de là à étaler son savoir sur un ton sarcastique en lui récitant le manuel de fonctionnement d'une centrale nucléaire, il y a de la marge...Si c'est pour les écoeurer d'entrée de jeu, c'est la bonne voie.

    Bref...un ptit bout de code que j'ai récupéré en glanant à gauche à droite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub presse_papier()
    Dim X$
    Dim CC As DataObject
     
    X = Range("A1")
    Set CC = New DataObject
    CC.SetText X
    CC.PutInClipboard
    End Sub
    Oeuf corse, cells(1, 1).Copy fonctionne aussi, la petite différence est que dans ce cas là on ne peut pas fermer le classeur avant d'avoir fait le collage

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour fring;

    j'espère que tu as bien compris que le but est de passer du texte d'une application à l'autre (dont rien ne dit même qu'il s'agit d'une autre application Excel) ...

    passer par le vrai presse-papier de Windows me parait la solution de très loin la plus appropriée.

    Du code déjà écrit ? En voilà un, entre autres. Et celui-ci permet en outre de traiter le format :

    http://www.vbaccelerator.com/tips/vba0013.htm

    Edit : je demeure à peu près certain de ce que ce qu'il lui faut de préférence , c'est mettre en oeuvre une conversation DDE (et celà, VBA sait le faire ... et n'est pas du chinois...)

    Re-Edit : j'ai lu et relu et re-relu la querstion posée. Rien ne dit non plus que ce qu'il veut mettre dans le presse-papier provient d'une application Excel !...

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Bonjour Zorgloub,
    Citation Envoyé par Zorgloub
    Bonjour,
    Je chercher à placer du texte dans le Buffer de windows pour effectuer un copier coller d'une application à une autre.
    Peux-tu préciser ta demande ?
    Merci.

    PS - Tu lis Spirou ?

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut
    hohooo ! que de réponses !

    @Ucfoutu : Je préfère faire les choses proprement, c'est exactement ce que je cherchais . J'espère m'en sortir avec la doc sur le net, maintenant que j'ai les bon mots clefs pour rechercher.

    Je veux transferer du texte dans le presse papier de windows pour le coller dans une autre application que je n'ai pas développé.

    Je suppose que le format correspond à la mise en page, genre du code HTML ou bien en gras ou italique sous word ? Je n'en ai pas besoin, merci !

    @Ouskel'n'or : Si ta méthode permet de mettre directement du texte dans le presse papier de windows, alors le rapport : "effort fourni / pureté du code" me convient très bien. Je peux toujours placer le texte à copier dans une cellule. Ce n'est pas un problème

    @fring : C'est très très gentil de te soucier du fait de ne pas dégouter les gens. Je ne l'ai pas du tout prit sur un ton sarcastique en fait. Merci beaucoup !

    Merci à tous, la communauté VBA est très sympatique

    PS : et oui ! J'adore Spirou ! Malheuresement dans le forum Zorglub était déjà prit. J'ai préféré ajouté un O au lieu de mettre un chiffre.

    Edit : je vous tiens au courant, dès que j'ai réussi.

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Non, copy ne fonctionnera sans doute pas. Aucune autre instruction ne doit séparer la copie d'une cellule du collage et là, je pense que tu auras du mal... Mais tu peux tester...

    PS - Et Bulgroz, c'était pris ?

  9. #9
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 95
    Par défaut
    Merci !

    la méthode de fring avec .PutInClipboard marche très bien !

    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 10/12/2012, 13h58
  2. placer un texte dans une textarea en cliquant sur un bouton
    Par BernardT dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/11/2005, 17h17
  3. Réponses: 4
    Dernier message: 14/11/2005, 15h58
  4. Placer du texte dans le presse papier avec DOM
    Par Desraux dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/01/2005, 13h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo