Afficher les liens hypertextes qui sont associés à des cellules Excel. [Résolu]

Messages postés
6
Date d'inscription
mercredi 9 mars 2005
Dernière intervention
23 mars 2006
- 9 mars 2005 à 17:20 - Dernière réponse :
Messages postés
2
Date d'inscription
mardi 26 septembre 2006
Dernière intervention
29 septembre 2006
- 29 sept. 2006 à 20:01
Bonjour à tous,
Voci mon problème:
J'ai une feuille excel avec une longue liste de mots dans la colonne A.
Chaque mot est associé à un lien hypertexte.
Donc si je clic sur un mot de la colonne A, internet explorer s'ouvre...

Je voudrais afficher l'adresse du lien hypertexte, (http://...) en colonne B, correspondant à la cellule de la Colonne A.

Comment faire en VBA ??

Merci par avance.

Mathieu
Etudiant Management et gestion des entreprise
Spécialité Ingénierie Economique
Grenoble.
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Dernière intervention
12 octobre 2008
- 9 mars 2005 à 20:00
1
Merci
bonsoir Mathieu

tu peux tester cette macro

Sub ExtractionLiensHypertextes()
Dim Cell As Range
On Error Resume Next
For Each Cell In Range("A1:A" & Range("A65536").End(xlUp).Row)
Cell.Offset(0, 1) = Cell.Hyperlinks(1).Address
Next Cell
End Sub

bonne soiree
michel

Merci michelxld 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Messages postés
6
Date d'inscription
mercredi 9 mars 2005
Dernière intervention
23 mars 2006
- 9 mars 2005 à 21:59
0
Merci
Je vous remercie bien pour ce script Michel.

Je suis étonné de l'efficacité de ce forum.

Merci encore.

Mathieu
Etudiant Management et gestion des entreprise
Spécialité Ingénierie Economique
Grenoble.
Messages postés
2
Date d'inscription
mardi 26 septembre 2006
Dernière intervention
29 septembre 2006
- 26 sept. 2006 à 20:17
0
Merci
moi aussi, je suis étonné !? Il n'y a guère de trace de la gestion de ces hyperliens dans excel ou VBA Mais il y a longtemps (2005 !)... êtes vous toujours là ?
Ces quelques lignes sont d'une efficacité redoutable, mais il extrait la totalité du contenu de l'hyperlien... Moi, c'est le même problème mais en liens "mailto". Je souhaitais extraire seulement le champs "objet" du lien "mailto" (donc "subject"), j'ai bien sûr essayé de remplacer dans votre script la commande "Address" (attention : avec 2 d sinon ça ne marche pas !) par "subject" mais cela ne fonctionne pas (sans aucun commentaires en plus !).
Bref, peut-on ajouter qqchose à "Address" pour n'extraire que l'objet du message, ou faut il ensuite appliquer au fichier une autre macro, fonction, formule (excusez-moi, mais je m'y perd...! je débute à peine...) pour extraire la chaîne de caractères en trop par exemple (opération qui semble très simple mais dont je ne connais pas la syntaxe) ?
Merci en tous cas pour ce forum et votre aide...
lechel
Messages postés
2
Date d'inscription
mardi 26 septembre 2006
Dernière intervention
29 septembre 2006
- 29 sept. 2006 à 20:01
0
Merci
Et bien, non... 'sont pas aussi rapides quà l'époque sur ce forum !
Heureusement, grâce à vous j'ai trouvé la 1ere partie de la soluce, voici la suivante (en l'absence de script VB qui pourrait le faire) :


Pour info, la soluce à mon pb c'est une macro comme écrit plus haut
(mais qui copie TOUT le contenu de l'hyperlien !)...
Donc suivie d'une formule dans excel (qu'on doit pouvoir simplifier, mais bon) :




=DROITE(A1;NBCAR(A1)-CHERCHE("subject";A1)-7), qu'on "étend" sur toute la colonne...




Ca marche ! Mais j'ai un tas de corrections manuelles à faire dans qq champs, heureusement donc que j'ai trouvé ça !
J'espère avoir été utile car mes qq heures passées là dessus n'étaient pas prévues, qu'elles servent au moins à d'autres !
Bravo encore à Michelxld pour sa macro !

'chel

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.