Macro pour coller le contenu du presse-papier

Résolu
Snake38 Messages postés 273 Date d'inscription mercredi 17 février 2010 Statut Membre Dernière intervention 1 novembre 2023 - 1 déc. 2017 à 11:22
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 - 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 !
A voir également:

6 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
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)

1
Snake38 Messages postés 273 Date d'inscription mercredi 17 février 2010 Statut Membre Dernière intervention 1 novembre 2023
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137 > Snake38 Messages postés 273 Date d'inscription mercredi 17 février 2010 Statut Membre Dernière intervention 1 novembre 2023
1 déc. 2017 à 13:00
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137 > cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024
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 211
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 273 Date d'inscription mercredi 17 février 2010 Statut Membre Dernière intervention 1 novembre 2023
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 273 Date d'inscription mercredi 17 février 2010 Statut Membre Dernière intervention 1 novembre 2023
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
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 273 Date d'inscription mercredi 17 février 2010 Statut Membre Dernière intervention 1 novembre 2023
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 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
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
Rejoignez-nous