Macro pour coller le contenu du presse-papier [Résolu]

Snake38 231 Messages postés mercredi 17 février 2010Date d'inscription 1 décembre 2017 Dernière intervention - 1 déc. 2017 à 11:22 - Dernière réponse : vb95 1386 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 12 décembre 2017 Dernière intervention
- 1 déc. 2017 à 15:51
VBA Office (Excel, Word ...) Posez votre question Signaler Répondre au sujet
Bonjour,

J'essaie de faire quelque chose de très simple mais je n'y parviens pas.
Voilà, j'aimerais crééer une macro qui permet la chose suivante :

- on sélectionne d'abord une cellule
- je clique sur la macro et elle fait dans l'ordre :
  • Clic droit, Lien hypertexte
  • Texte à afficher : [X]
  • Adresse : Ctrl+V


Je n'arrive pas à faire le Ctrl+V dans ma macro. Voici mon code actuel :

Sub Lien()
'
' Lien Macro
'

'
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
Paste _
, TextToDisplay:="[X]"
End Sub


Est-ce que quelqu'un aurait la solution ? Je serais curieux de la savoir...

Merci !
Afficher la suite 

10 réponses

Répondre au sujet
cs_Le Pivert 4766 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention - 1 déc. 2017 à 11:49
0
Utile
3
Bonjour,

copie la cellule sélectionnée:

Dim contenu
 Application.CutCopyMode = False
    Selection.Copy
With New DataObject
.GetFromClipboard
contenu = .GetText(1)
End With
MsgBox (contenu)

Snake38 231 Messages postés mercredi 17 février 2010Date d'inscription 1 décembre 2017 Dernière intervention - 1 déc. 2017 à 12:08
Bonjour, tu es sûr d'avoir lu ma requête ? Je veux coller le contenu du presse-papiers.
cs_Le Pivert 4766 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention > Snake38 231 Messages postés mercredi 17 février 2010Date d'inscription 1 décembre 2017 Dernière intervention - 1 déc. 2017 à 13:00
cs_Le Pivert 4766 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention > cs_Le Pivert 4766 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention - 1 déc. 2017 à 14:46
Je vois que tu n'as pas essayé le code que je t'ai donné:
Copie ton adresse url et lance ce code:

Sub pressepapier()
Dim contenu As String
With New DataObject
.GetFromClipboard
contenu = .GetText(1)
End With
MsgBox (contenu)
End Sub


tu verras le résultat

PS dans le code précédent il y avait 2 lignes à enlever, c'était pas trop dur
C'était juste un exemple à adapter
Commenter la réponse de cs_Le Pivert
ucfoutu 18021 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention - Modifié par ucfoutu le 1/12/2017 à 13:35
0
Utile
Un CTRL + V = paste (= coller)
Il n'y a pas de "paste" sans quelque chose dans le presse-papiers (mis par CTRL + C ou autrement.)
Et ne ne vois rien qui, dans ton code, copie quoi que ce soit !

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Commenter la réponse de ucfoutu
Snake38 231 Messages postés mercredi 17 février 2010Date d'inscription 1 décembre 2017 Dernière intervention - 1 déc. 2017 à 14:35
0
Utile
Je pense que vous avez mal compris ma requête !

C'est normal qu'il y ai rien à copier, JE copie le contenu.

- Je copie qqchose dans Chrome, une URL en l'occurence
- Je vais dans une cellule quelconque dans mon fichier Excel
- Je lance la macro : cela crée le lien hypertexte, et colle comme URL ce que j'ai moi-même copié auparavant !
Commenter la réponse de Snake38
Snake38 231 Messages postés mercredi 17 février 2010Date d'inscription 1 décembre 2017 Dernière intervention - 1 déc. 2017 à 15:08
0
Utile
cs_Le Pivert, j'ai essayé ton code donné plus haut, mais j'ai une erreur de compilation "type non défini" sur le New DataObject...
Commenter la réponse de Snake38
cs_Le Pivert 4766 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention - 1 déc. 2017 à 15:28
0
Utile
Il te manque une référence, va dans Outils, Référence:
coche celle qui est en surbrillance


Commenter la réponse de cs_Le Pivert
Snake38 231 Messages postés mercredi 17 février 2010Date d'inscription 1 décembre 2017 Dernière intervention - Modifié par Snake38 le 1/12/2017 à 15:44
0
Utile
1
Un grand merci l'ami ça marche !!!

Code final :

Sub Lien()

Dim contenu As String
With New DataObject
.GetFromClipboard
contenu = .GetText(1)
End With

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=contenu _
, TextToDisplay:="[X]"

End Sub
vb95 1386 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 12 décembre 2017 Dernière intervention - 1 déc. 2017 à 15:51
Bonjour

Vu que cela fonctionne n'oubliez point de valider le post avec le bouton "Marquer comme Résolu"
Merci
Commenter la réponse de Snake38

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.