XL 2016 Coller plusieurs fichiers 'entiers' dans le presse papier

CL91220

XLDnaute Nouveau
Bonsoir,
A l aide d'une macro Excel 2016, je cherche à copier plusieurs fichiers dans le presse papier afin que l opérateur du programme puisse manuellement les coller dans un mail par un CTRL+V. Les fichiers en questions sont de tous types (PDF, Docx, msg, etc...). L objectif est que depuis une form Excel, je puisse copier des fichiers dans le presse papier comme je pourrai le faire manuellement depuis l explorateur Windows...
Merci par avance pour votre aide.
 

CL91220

XLDnaute Nouveau
Bonjour TooFatBoy, bonjour Phil69970,

Encore merci pour ta patience TooFatBoy!!!!! :)

Phil69970, merci de t'intéresser à cette demande très mal formulée j'en conviens!! :(
Cela aura le 'mérite' de me faire entrée d'emblée dans le book des records d'XLD sur l'incapacité à se faire comprendre sur une problématique pourtant probablement simple...:oops:🤣

TooFatBoy, j'ai clairement évoluer sur la méthode à appliquer pour résoudre mon problème. Je vais contourner l'utilisation du presse papier.
Néanmoins, je suis toujours intéressé pour connaitre la méthode en vba permettant de 'copier' dans le presse papier des fichiers pour permettre à l'utilisateur des les coller où il le souhaite (mail, clef usb, bureau windows, etc...). Je comprends bien que ce qu'on appelle copier des fichiers dans le presse papier en vba correspond en fait (sans doute) à définir le chemin de fichiers concernés quelque part dans windows... Je dispose de ces chemins, mais je ne sais pas comment faire pour les intégrer au presse papier...

Phil69970, voici l'interface proposée à l'utilisateur:
1672149695757.png

L'utilisateur sélectionne dans la liste en haut l'équipement considéré identifié par la dénomination, son type et son numéro de série.
  • Automatiquement s'actualise la listebox de gauche listant tous les documents associés aux équipements du même type.
  • Automatiquement s'actualise la ListeView de droite listant tous les documents associés à l'équipement sélectionné avec queqlues informations complémentaires.
Cette interface permet à l'utilisateur d'ajouter ou supprimer des fichiers dans la listebox de gauche, mais surtout de permettre l'ouverture de n'importe quel des fichiers listés dans ces deux listes.

Mais l'utilisateur peut souhaiter aller plus loin en manipulant une copie de ces fichiers pour les placer sur une clef USB, dans un mail (pièce jointe) ou bien sur son bureau windows de manière à y accéder dans un second temps...
Pour répondre à ce besoin, je trouve particulièrement élégant de permettre à l'utilisateur, une fois qu'il a procédé à la sélection des fichiers concernés, de les placer où il le souhaite en faisant un simple collage depuis le presse papier. Dans ce but, je pensais ajouter un bonton 'Copier' sur cette page. Il me semble assez évident maintenant que le presse papier à utiliser n'est pas celui d'Excel, mais bien celui e Windows....
Je dispose des chemins complets des fichiers sélectionnés par l'utilisateur, mais je ne sais pas comment en vba, à partir de ces chemins, faire en sorte que les fichiers sélectionnés soient 'copier' dans le presse papier de Windows. En fait, j'aimerai faire en vba ce que nous faisons simplement dans l'explorateur en faisiant 'clic droit/copier' sur une sélection de fichiers...

Pas grave si pas de solution apportée, je peux me débrouiller autrement, de façon moins élégantes, mais qui fonctionnera sans pb. Je pense à copiers les fichiers sélectionnés dans un répertoire dédiés à la mise à disposition de fichiers sélectionnés par les utilisateurs, et ouvrir l'explorateur windows avec ce répertoire en argument de manière à ce que les fichiers en question soient disponibles à l'utilisateur pour qu'il fasse manuellement le copier/coller pour les placer où il le souhaite.

Voilà, encore merci pour votre aide. Je ne vous solliciterai pas davantage.; Si vous avez la solution, c 'est super!!, sinon, je me débrouillerai autrement.
Encore merci!!!
 

Pièces jointes

  • 1672147979165.png
    1672147979165.png
    105.4 KB · Affichages: 12

TooFatBoy

XLDnaute Barbatruc
Je comprends bien que ce qu'on appelle copier des fichiers dans le presse papier en vba correspond en fait (sans doute) à définir le chemin de fichiers concernés quelque part dans windows... Je dispose de ces chemins, mais je ne sais pas comment faire pour les intégrer au presse papier...
Si le chemin et le nom d'un fichier sont inscrits dans, par exemple, la celluleA1, alors un simple Range("A1").copy doit remplir le presse-papier je pense (à vérifier).


voici l'interface proposée à l'utilisateur
Ca correspond à ce que je disais : il y a un bouton "Visualiser", donc il te suffirait peut-être, comme je disais plus haut, d'ajouter un bouton "Copier", ou un bouton "Copier dans un dossier" et un bouton "Joindre à un e-mail".
 

TooFatBoy

XLDnaute Barbatruc
Pour répondre à ce besoin, je trouve particulièrement élégant de permettre à l'utilisateur, une fois qu'il a procédé à la sélection des fichiers concernés, de les placer où il le souhaite en faisant un simple collage depuis le presse papier. Dans ce but, je pensais ajouter un bonton 'Copier' sur cette page. Il me semble assez évident maintenant que le presse papier à utiliser n'est pas celui d'Excel, mais bien celui e Windows....
Je dispose des chemins complets des fichiers sélectionnés par l'utilisateur, mais je ne sais pas comment en vba, à partir de ces chemins, faire en sorte que les fichiers sélectionnés soient 'copier' dans le presse papier de Windows. En fait, j'aimerai faire en vba ce que nous faisons simplement dans l'explorateur en faisiant 'clic droit/copier' sur une sélection de fichiers...
Sérieux, arrête avec ton presse-papier ! 😅
Pourquoi veux-tu absolument passer par ce sacré presse-papier ?!?
 

CL91220

XLDnaute Nouveau
Merci TooFatBoy, malheureusement, effectuer un collage du presse papier dans ces conditions ne permet de coller uniquement que la chaine de caractère et non le fichier...

Phil69970, Je veux bien te montrer la variable dans le code contenant les chemins des fichiers que je souhaite voir coller dans le presse papier Windows, mais à quoi cela va te servir?. Cette image était destinée à montrer un contexte, et surtout le texte autour, à t'expliquer un besoin simple qui continue à ne pas être clairement exprimé semble-t-il, tout du moins si tu n'as pas arrêté la lecture du message au niveau de l'image. Phil6970, je n'ai pas un bug dans le code, j'ai juste une variable contenant les chemins de fichiers que je souhaite voir 'copier' dans le presse papier Windows.
Aucun souci si tu ne peux pas m'aider. Je regarderai comment clôturer cette discussion qui a effectivement bcp d'échanges sur une problématique simple mal formulée.
En tout cas merci pour ta tentative de venir à mon aide ;)
Je vais plutôt rechercher la solution sur internet car je n'arrive pas à croire que cela ne soit pas documenté. Après, j'ai vu des trucs qui me semblaient super compliqués, et pas en vba mais en vb... Sans doute transposable... a suivre donc.
Bon après midi
 

CL91220

XLDnaute Nouveau
TooFatBoy, je suis intéressé par ce moyen car c'est la réponse à plusieurs objectifs (coller fichiers dans mail ou dans un répertoire)... Pas de code à produire au cas par cas, plus de lisibilité, etc... D'où l'élégance à mes yeux :). En plus une fois que je saurai cela, je pourrai l'utiliser dans d'autres circonstances.
Merci pour ton aide et A+
 

CL91220

XLDnaute Nouveau
Merci bcp pour ce message TooFatBoy,

Effectivement, des solutions existent pour mettre à disposition de l utilisateur les fameux fichiers. Les propositions dont tu parles, je les ai intégrées il y a quelque temps suite aux premiers échanges et pour cela, cette discussion n aura pas du tout été un échec de mon point de vue.

Je comprends également que, pour des personnes qui souhaitent aider sur une problématique, il est important de connaître le contexte au maximum, car parfois, et sans doute assez souvent, le demandeur ne voit pas bien le champs des possibles et peut être aidé d une façon à laquelle il ne pensait pas du tout initialement. C est aussi comme cela qu on peut bénéficier de l expérience des aidants.

Ce qui est curieux, mais il faudra simplement que je m'habitue ( 😉), c est lorsque tu précises que tu as des solutions, que du coup, ce qui t intéresse est d employer une méthode particulière, qui ne nécessite pas d avoir le code car la donnée de départ est le contenu d une variable... Et que le code soit tout de même exigé. C est à dire que tu engages l aidant dans une démarche qui va nécessite de l energie (compréhension d un code). Je ne doute pas une seconde que cela soit bien moins gourmand en énergie pour un aidant que pour un type comme moi, mais quand tu précises que tu as une solution ! ! ! Soit on connaît la méthode et on la donne ( ici, une public sub avec arguments dans le cas présent) soit on dit simplement qu on ne sait pas et ce n est pas du tout un pb.

Comme il n'y a rien d autre que de la bienveillance dans chacun de ces messages, aucun souci pour moi :)
Et loin de moi l idée que les personnes intervenantes ne soient pas compétentes dans le domaine. Bien au contraire 👍

Passez tous de bonnes fêtes et encore merci à tous
 

TooFatBoy

XLDnaute Barbatruc
Je comprends également que, pour des personnes qui souhaitent aider sur une problématique, il est important de connaître le contexte au maximum, car parfois, et sans doute assez souvent, le demandeur ne voit pas bien le champs des possibles et peut être aidé d une façon à laquelle il ne pensait pas du tout initialement. C est aussi comme cela qu on peut bénéficier de l expérience des aidants.
C'est exactement ça. Tu as tout compris à 100 % ! 👍

Perso, je n'ai pas de solution, c'est pour ça que je te donnais des axes de réflexion, des idées de direction à prendre. Je ne saurais hélas t'aider plus. :(


Bonnes fêtes de fin d'année
🖖
 

CL91220

XLDnaute Nouveau
Deadpool_CC,

Je pense effectivement que la solution existe côté Windows et non avec les fonctions de copier/coller interne à Microsoft office...
J ai déjà vu quelque chose du genre, mais effectivement, c est compliqué à comprendre pour mes 3 neurones, cela dit, je vais essayer. Je ne pourrai pas m y mettre avant plusieurs jours. Désolé. En tout cas merci beaucoup ! !
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 188
dernier inscrit
evebar