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

Signaler
Messages postés
252
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
29 avril 2020
-
Messages postés
2165
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
26 juin 2020
-
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

Messages postés
6819
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 juin 2020
109
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
252
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
29 avril 2020

Bonjour, tu es sûr d'avoir lu ma requête ? Je veux coller le contenu du presse-papiers.
Messages postés
6819
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 juin 2020
109 >
Messages postés
252
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
29 avril 2020

Messages postés
6819
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 juin 2020
109 >
Messages postés
6819
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 juin 2020

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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
225
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.
Messages postés
252
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
29 avril 2020

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 !
Messages postés
252
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
29 avril 2020

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...
Messages postés
6819
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 juin 2020
109
Il te manque une référence, va dans Outils, Référence:
coche celle qui est en surbrillance


Messages postés
252
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
29 avril 2020

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
2165
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
26 juin 2020
109
Bonjour

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