vba macro hyperlien interne

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

superbog

XLDnaute Occasionnel
bonjour,

je me débats pour faire une macro de sorte que je puisse automatiquement transformer toutes les données de la colonne A en hyperlien (puisque la colonne A contient les numéros de dossier et que chaque dossier a sa propre feuille)

voilà le code que j'essaie de faire et qui ne fonctionne pas
Code:
sub lien()

Dim n As Integer, ws As Worksheet
For n = 2 To Range("A65536").End(xlUp).Row
    ActiveSheet.Hyperlinks.Add Anchor:=Range("A" & n), Address:="", SubAddress:=Range("A" & n).Value & !n
        
        Next n
End Sub

voici un fichier exemple joint
 

Pièces jointes

Re : vba macro hyperlien interne

Bonjour superbog,

Code:
Sub lien()
Dim n As Long
For n = 2 To Range("A65536").End(xlUp).Row
  ActiveSheet.Hyperlinks.Add Range("A" & n), "", "'" & Range("A" & n) & "'!A1"
Next
End Sub
Edit : les guillemets anglais ' sont indispensables s'il y a des espaces.

Et enregistrez le fichier sous .xlsm...

A+
 
Dernière édition:
Re : vba macro hyperlien interne

je me débats pour faire une macro de sorte que je puisse automatiquement transformer toutes les données de la colonne A en hyperlien (puisque la colonne A contient les numéros de dossier et que chaque dossier a sa propre feuille

Il est clair que cette architecture te limite au nombre de feuilles possible d'un classeur. Mieux vaudrait, à mon avis, créer des liens hypertextes avec des fichiers dans un dossier. Si ce changement de programme te convient, je peux te faire un petit exemple.
 
Re : vba macro hyperlien interne

Bonjour Dormeur74,

Il est clair que cette architecture te limite au nombre de feuilles possible d'un classeur.

Le nombre de feuilles d'un classeur est limité par la mémoire disponible.

Sur mon ordi Win XP/Excel 2003 cette macro s'est arrêtée à la feuille Feuil5450 :

Code:
Sub a()
Dim n&
Application.ScreenUpdating = False
For n = 1 To 65536
  Sheets.Add After:=Sheets(Sheets.Count)
Next
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
702
Réponses
7
Affichages
286
Retour