Excel convertir hypertexte en texte
Résolu/Fermé
Titachon
-
29 déc. 2011 à 11:19
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 29 déc. 2011 à 12:35
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 29 déc. 2011 à 12:35
A voir également:
- Transformer texte en lien hypertexte excel
- Excel cellule couleur si condition texte - Guide
- Lien url - Guide
- Liste déroulante excel - Guide
- Créer un lien pour partager des photos - Guide
- Verifier un lien - Guide
7 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
29 déc. 2011 à 11:40
29 déc. 2011 à 11:40
Bonjour,
En fait, sans VBA, faut tout se taper à la main......
Avec VBA :
- ouvrir le classeur,
- en faire une copie (enregistrer sous) et TRAVAILLER SUR LA COPIE!!!
DANS LA COPIE DU CLASSEUR :
- taper ALT+F11
- Insertion/Module
- Copire/Coller ce code :
- !!! ADAPTER tout de suite ce qui doit l'être (colonne + nom de la feuille)
- Fermer l'éditeur VBE
- Taper ALT+F8, sélectionner "AfficheNomCompletLienHypertexte" puis cliquer sur exécuter.
Normalement vont apparaitre les chemins complets des fichiers liés hypertextement...
Il y aura certainement des manipulations de caractères à effectuer pour n'obtenir que les noms des fichiers, mais testez déjà ceci.
SUR UNE COPIE DE VOTRE FICHIER!!!!!!!!!!!!!
En fait, sans VBA, faut tout se taper à la main......
Avec VBA :
- ouvrir le classeur,
- en faire une copie (enregistrer sous) et TRAVAILLER SUR LA COPIE!!!
DANS LA COPIE DU CLASSEUR :
- taper ALT+F11
- Insertion/Module
- Copire/Coller ce code :
Sub AfficheNomCompletLienHypertexte() Dim Lign As Long, DrLig As Long Dim Col As Byte Dim NomDuLien As String Col = 1 '==> A adapter : n° de la colonne contenant vos liens hypertextes With Sheets("Feuil1") '==> A adapter le nom de la feuille contenant vos liens DrLig = Columns(Col).Find("*", , , , xlByColumns, xlPrevious).Row For Lign = 1 To DrLig If .Cells(Lign, Col).Hyperlinks.Count = 1 Then NomDuLien = .Cells(Lign, Col).Hyperlinks(1).Address .Cells(Lign, Col).Hyperlinks.Delete .Cells(Lign, Col).Clear ActiveSheet.Hyperlinks.Add Anchor:=.Cells(Lign, Col), Address:=NomDuLien, TextToDisplay:=NomDuLien End If Next Lign End With End Sub
- !!! ADAPTER tout de suite ce qui doit l'être (colonne + nom de la feuille)
- Fermer l'éditeur VBE
- Taper ALT+F8, sélectionner "AfficheNomCompletLienHypertexte" puis cliquer sur exécuter.
Normalement vont apparaitre les chemins complets des fichiers liés hypertextement...
Il y aura certainement des manipulations de caractères à effectuer pour n'obtenir que les noms des fichiers, mais testez déjà ceci.
SUR UNE COPIE DE VOTRE FICHIER!!!!!!!!!!!!!
Bruce Willix
Messages postés
11968
Date d'inscription
mardi 24 mai 2011
Statut
Contributeur
Dernière intervention
12 juin 2018
2 590
29 déc. 2011 à 11:34
29 déc. 2011 à 11:34
Le lien hypertexte a été transformé pour s'afficher comme "1"
=> Ca veut dire qu'il est affiché "1" dans la celulle et que lorsque vous cliquez dessus, la photo s'ouvre ?
=> Ca veut dire qu'il est affiché "1" dans la celulle et que lorsque vous cliquez dessus, la photo s'ouvre ?
Oui c'est exactement ça.
Par contre les liens sont cassés depuis longtemps. Les fichiers sont regroupés avec des noms uniques dans un seul répertoire la seule chose qui m'intéresse c'est de récupérer le nom du fichier pour pouvoir tout refaire.
Par contre les liens sont cassés depuis longtemps. Les fichiers sont regroupés avec des noms uniques dans un seul répertoire la seule chose qui m'intéresse c'est de récupérer le nom du fichier pour pouvoir tout refaire.
OK J'ai déjà fait la copie je fait des tests depuis ce matin... Effectivement je pense pas que j'aurais trouvé tout seul!!!
Je teste ça tout de suite et vous tiens au courant. En attendant merci!
Je teste ça tout de suite et vous tiens au courant. En attendant merci!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Après avoir adapté la formule avec bon numéro de colonne et de feuille (colonne Y et feuille 20). Le lancement de la macro donne le code d'erreur
Erreur d'exécution '1004':
Erreur définie par l'application ou par l'objet
En cliquant sur débogage on me renvoie a la ligne
DrLig = Columns (Col).Find("*", , , , xlByColumns, xlPrevious).Row
Erreur d'exécution '1004':
Erreur définie par l'application ou par l'objet
En cliquant sur débogage on me renvoie a la ligne
DrLig = Columns (Col).Find("*", , , , xlByColumns, xlPrevious).Row
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
29 déc. 2011 à 12:04
29 déc. 2011 à 12:04
Manque un point devant Columns... Comprends pas il est bien rpésent chez moi quand j'ai testé...
Bon pas grave.
J'en profite pour te soumettre deux solutions :
Solution 1 : Affiche le chemin d'accès complet du lien hypertexte :
Solution 2 : Affiche le nom du fichier du lien hypertexte :
Bon pas grave.
J'en profite pour te soumettre deux solutions :
Solution 1 : Affiche le chemin d'accès complet du lien hypertexte :
Sub AfficheNomCompletLienHypertexte() Dim Lign As Long, DrLig As Long Dim Col As Byte Dim AddresseDuLien As String Col = 1 '==> A adapter : n° de la colonne contenant vos liens hypertextes With Sheets("Feuil1") '==> A adapter le nom de la feuille contenant vos liens DrLig = .Columns(Col).Find("*", , , , xlByColumns, xlPrevious).Row For Lign = 1 To DrLig If .Cells(Lign, Col).Hyperlinks.Count = 1 Then AddresseDuLien = .Cells(Lign, Col).Hyperlinks(1).Address .Cells(Lign, Col).Hyperlinks.Delete .Cells(Lign, Col).Clear ActiveSheet.Hyperlinks.Add Anchor:=.Cells(Lign, Col), Address:=AddresseDuLien, TextToDisplay:=AddresseDuLien End If Next Lign End With End Sub
Solution 2 : Affiche le nom du fichier du lien hypertexte :
Sub AfficheNomFichierLienHypertexte() Dim Lign As Long, DrLig As Long Dim Col As Byte Dim NomDuLien As String, AddresseDuLien As String Col = 1 '==> A adapter : n° de la colonne contenant vos liens hypertextes With Sheets("Feuil1") '==> A adapter le nom de la feuille contenant vos liens DrLig = .Columns(Col).Find("*", , , , xlByColumns, xlPrevious).Row For Lign = 1 To DrLig If .Cells(Lign, Col).Hyperlinks.Count = 1 Then AddresseDuLien = .Cells(Lign, Col).Hyperlinks(1).Address NomDuLien = StrReverse(Left(StrReverse(AddresseDuLien), InStr(StrReverse(AddresseDuLien), "/") - 1)) .Cells(Lign, Col).Hyperlinks.Delete .Cells(Lign, Col).Clear ActiveSheet.Hyperlinks.Add Anchor:=.Cells(Lign, Col), Address:=AddresseDuLien, TextToDisplay:=NomDuLien End If Next Lign End With End Sub
Désolé j'ai toujours la même erreur...
Par contre pour le coup du point c'est de ma faute... Comme je suis obligé de passer d'un PC a un autre (j'ai internet sur un et excel sur l'autre) je me suis planté dans la copie de l'erreur...
Par contre pas d'erreur possible dans la copie de la macro car je fais un copier coller sur un fichier texte puis transfert par clef usb
Par contre pour le coup du point c'est de ma faute... Comme je suis obligé de passer d'un PC a un autre (j'ai internet sur un et excel sur l'autre) je me suis planté dans la copie de l'erreur...
Par contre pas d'erreur possible dans la copie de la macro car je fais un copier coller sur un fichier texte puis transfert par clef usb
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
29 déc. 2011 à 12:15
29 déc. 2011 à 12:15
Ne mettrais tu point : Col = Y ???
Si oui remplace par : Col = 25
Si oui remplace par : Col = 25
Merci beaucoup je ne savais pas qu'en VB les colonnes étaient repertoriées avec des nombres.
Tout Marche!
Un gros gros merci!
Tout Marche!
Un gros gros merci!
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
29 déc. 2011 à 12:35
29 déc. 2011 à 12:35
De rien.
Bonne fêtes de fin d'année.
A+
Bonne fêtes de fin d'année.
A+