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

Messages postés
240
Date d'inscription
mercredi 17 février 2010
Dernière intervention
15 novembre 2018
- 1 déc. 2017 à 11:22 - Dernière réponse :
Messages postés
1702
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 novembre 2018
- 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

10 réponses

Messages postés
5530
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 novembre 2018
- 1 déc. 2017 à 11:49
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)

Messages postés
240
Date d'inscription
mercredi 17 février 2010
Dernière intervention
15 novembre 2018
- 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.
Messages postés
5530
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 novembre 2018
>
Messages postés
240
Date d'inscription
mercredi 17 février 2010
Dernière intervention
15 novembre 2018
- 1 déc. 2017 à 13:00
Messages postés
5530
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 novembre 2018
>
Messages postés
5530
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 novembre 2018
- 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
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- Modifié par ucfoutu le 1/12/2017 à 13:35
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
240
Date d'inscription
mercredi 17 février 2010
Dernière intervention
15 novembre 2018
- 1 déc. 2017 à 14:35
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
240
Date d'inscription
mercredi 17 février 2010
Dernière intervention
15 novembre 2018
- 1 déc. 2017 à 15:08
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
5530
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
17 novembre 2018
- 1 déc. 2017 à 15:28
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
240
Date d'inscription
mercredi 17 février 2010
Dernière intervention
15 novembre 2018
- Modifié par Snake38 le 1/12/2017 à 15:44
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
Messages postés
1702
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
15 novembre 2018
- 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.