Jacky1002
Messages postés94Date d'inscriptionmardi 11 mai 2010StatutMembreDernière intervention 3 avril 2011
-
5 mai 2010 à 15:53
Jacky1002
Messages postés94Date d'inscriptionmardi 11 mai 2010StatutMembreDernière intervention 3 avril 2011
-
7 mai 2010 à 11:54
bonjour,
voilà mon problème :
jai 2 classeur (Maintenance.xlsm ; Machines.xlsx)
"maintenance" prenant en charge les macros mais pas "machines"
jai des liens hypertext entre ces 2 classeur jusque là tout va bien...
je me suis rendu compte aujourd'hui après 2 semaine de boulot sur ces classeurs que le fichier "machines" ne prend pas en charge les macros, du coup je l'enregistre en .xlsm mais mes liens de "maintenance" reste vers machine.xlsX (et qd je supprime ce dernier les lien st mort)
du coup je cherche un macro ou une technique pour changer tout mes lien qui était vers "machines.xlsx" pour qu'ils soient vers "machines .xlsm" sachant ke le l'emplacement du fichier reste le meme.
rv83toulon
Messages postés68Date d'inscriptionmercredi 2 mars 2011StatutMembreDernière intervention25 avril 2013 7 mai 2010 à 06:41
Re,
désolé de venir tard mais je t'ai donné un bout de code qu'il faut mettre dans une procédure:
sub toto ()
'le code
end sub
cette procédure tu la mets dans un module et dans l'éditeur tu appuies sur lecture.
j'ai testé mon code fonctionne, voici la procédure complète à mettre dans un module.
Sub MAJ_lien_hyp ()
Dim derfeuille As Integer, hyplink As Hyperlink
derfeuille = ThisWorkbook.Worksheets.Count
For i = 1 To derfeuille
For Each hyplink In Sheets(i).Hyperlinks
hypadress = hyplink.Address
hypadress = Replace(hypadress, "xlsx", "xlsm")
hyplink.Address = hypadress
'affiche comme texte de lien le chemin du nouveau lien
'hyplink.TextToDisplay = hypadress
Next hyplink
Next i
End sub
rv83toulon
Messages postés68Date d'inscriptionmercredi 2 mars 2011StatutMembreDernière intervention25 avril 2013 6 mai 2010 à 10:46
Bonjour,
Ce code parcours chaque feuille du classeur et tous les liens de chaque feuille et remplace "xlsx" par "xlsm".
Dim derfeuille As Byte, hyplink As Hyperlink
derfeuille = ThisWorkbook.Worksheets.Count
For i = 1 To derfeuille
For Each hyplink In Sheets(i).Hyperlinks
hypadress = hyplink.Address
hypadress = Replace(hypadress, "xlsx", "xlsm")
hyplink.Address = hypadress
'affiche comme texte de lien le chemin du nouveau lien
'hyplink.TextToDisplay = hypadress
Next hyplink
Next i