Macro pour coller le contenu du presse-papier

Résolu
Snake38
Messages postés
265
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
7 mars 2022
- 1 déc. 2017 à 11:22
vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022
- 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 !

6 réponses

cs_Le Pivert
Messages postés
7743
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 mai 2022
129
1 déc. 2017 à 11:49
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)

0
Snake38
Messages postés
265
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
7 mars 2022

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.
0
cs_Le Pivert
Messages postés
7743
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 mai 2022
129 > Snake38
Messages postés
265
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
7 mars 2022

1 déc. 2017 à 13:00
0
cs_Le Pivert
Messages postés
7743
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 mai 2022
129 > cs_Le Pivert
Messages postés
7743
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 mai 2022

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
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Modifié le 1 déc. 2017 à 13:35
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.
0
Snake38
Messages postés
265
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
7 mars 2022

1 déc. 2017 à 14:35
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 !
0
Snake38
Messages postés
265
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
7 mars 2022

1 déc. 2017 à 15:08
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert
Messages postés
7743
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
9 mai 2022
129
1 déc. 2017 à 15:28
Il te manque une référence, va dans Outils, Référence:
coche celle qui est en surbrillance


0
Snake38
Messages postés
265
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
7 mars 2022

Modifié le 1 déc. 2017 à 15:44
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
0
vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022
151
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
0