Concatener le presse papier

carlos

XLDnaute Impliqué
Supporter XLD
Bonjour,

Voici à partir d'un exemple :

Une personne copiera dans le presse papier par exemple 2 colonnes ( nom et prénom) puis en cliquant sur un bouton , ces 2 colonnes seraient concaténées en une seule .
Je ne veux pas concaténer les noms et prénoms puis copier puis coller les colonnes.
Tout devra se faire à partir du presse papier que je connais pas et que je devrais certainement par la suite (filtrer).
Merci
Carlos
 

carlos

XLDnaute Impliqué
Supporter XLD
Re : Concatener le presse papier

Bonjour Modeste geedee
tout simplement parce que je vais demander à des gens de coller une liste de personnes qu'ils auraient récupéré dans un fichier à eux .
Je n'ai pas le choix sauf leur proposer de tout recopier à la main.Si on peut s’éviter cela.
Je reprends ta citation de coluche.
pourquoi cueillir les cerises avec la queue ?? c'est déjà suffisamment compliqué avec la main !!
Michel Colucci©
Carlos
 

chris

XLDnaute Barbatruc
Re : Concatener le presse papier

Bonjour

Le contenu du presse papier peut être aléatoire car en théorie l'utilisateur est sensé avec copié 2 colonnes avant de déclencher le macro mais s'il a fait une fausse manip ou a été distrait, on peu avoir tout ou n'importe quoi dans le presse papier.

Pour ce genre de besoin on utilise plutôt un code qui
  • demande à l'utilisateur de sélectionner les données,
  • effectue la copie
  • puis la traite.
Au moins on connait l'origine et la taille de ce qui est copié est on maîtrise donc la suite...
 

Dranreb

XLDnaute Barbatruc
Re : Concatener le presse papier

Bonjour.

À condition que ce soit du texte qui y est contenu (fut-il avec des vbLF, Tab et autres) cette paire de procédure Property permet de considérer le presse paier Windows comme une variable String en lecture/écriture nommée PressePapier :
VB:
Property Get PressePapier() As String
Dim DOb As New DataObject
On Error Resume Next
DOb.GetFromClipboard: PressePapier = DOb.GetText
If Err Then MsgBox "Pas de données récupérées", vbCritical, "PressePapier"
End Property
Property Let PressePapier(Z As String)
Dim DOb As New DataObject
DOb.SetText Z: DOb.PutInClipboard
End Property
Nécessite la bibliothèque MSForms
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Concatener le presse papier

J'en étais convaincu aussi, mais l'ajout de la référence est plus censé que de supprimer l'Userfom après si on n'en a nul besoin.
P.S. Mais c'est peut être un peu pour ça que j'ai préféré parler de cette bibliothèque très utilisée plutôt que d'indiquer tout de suite la référence.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 775
Messages
2 092 010
Membres
105 148
dernier inscrit
gegre