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

Messages postés
246
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
6 mai 2019
- - Dernière réponse : vb95
Messages postés
1862
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
16 mai 2019
- 1 déc. 2017 à 15:51
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 

Votre réponse

6 réponses

Messages postés
6019
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 mai 2019
86
0
Merci
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
Messages postés
246
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
6 mai 2019
-
Bonjour, tu es sûr d'avoir lu ma requête ? Je veux coller le contenu du presse-papiers.
cs_Le Pivert
Messages postés
6019
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 mai 2019
86 > Snake38
Messages postés
246
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
6 mai 2019
-
cs_Le Pivert
Messages postés
6019
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 mai 2019
86 > cs_Le Pivert
Messages postés
6019
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 mai 2019
-
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
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
267
0
Merci
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
Messages postés
246
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
6 mai 2019
0
Merci
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
Messages postés
246
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
6 mai 2019
0
Merci
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
Messages postés
6019
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 mai 2019
86
0
Merci
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
Messages postés
246
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
6 mai 2019
0
Merci
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
Messages postés
1862
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
16 mai 2019
65 -
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.