Excel VBA et Liens Hypertextes

  • Initiateur de la discussion Initiateur de la discussion Rouday
  • Date de début Date de début

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 !

Rouday

XLDnaute Nouveau
Bonjour à tous,

Je programme en VBA sur Excel 2010.
Mon fichier est une liste des 75000 chemins d'accès, noms de fichiers et liens vers les dossiers.
J'ai créé une macro simple pour créer des liens hypertextes :
Code:
Sub mettre_liens()
    Dim fin
    Dim nRow
    
    For nRow = 5 To Range("B4").End(xlDown).Row
        With Sheets("Contenu de répertoire")
             If .Cells(nRow, 4).Value <> "" Then
               .Hyperlinks.Add ActiveSheet.Range("B" & nRow), ActiveSheet.Range("D" & nRow).Value
               .Hyperlinks.Add ActiveSheet.Range("D" & nRow), ActiveSheet.Range("D" & nRow).Value
               .Hyperlinks.Add ActiveSheet.Range("E" & nRow), ActiveSheet.Range("E" & nRow).Value
            End If
        End With
        
        Next
        
    MsgBox "Remplissage liens terminé !", vbInformation, "Opération terminée"
        
End Sub

Ce pendant, la macro plante en pleine exécution sans aucune raison apparente. une fois elle plante à la 23516è ligne, une fois à la 34321è ligne ou 43278è ligne. Bref j'ai un message d'erreur qui apparait :
Code:
Erreur d'exécution 1004 : erreur définie par l'application ou l'objet
Ce que je ne comprends pas, c'est qu'elle effectue ce dont j'ai besoin mais plante au bout d'un moment 🙁
Auriez vous une idée sur l'origine du problème ?
Merci
 
Re : Excel VBA et Liens Hypertextes

Bonsoir à tous

Rouday (Bienvenue sur le forum)
Essaie avec ces modifs
Sub mettre_liens()
Dim fin As Long
Dim nRow As Long

For nRow = 5 To Range("B4").End(xlDown).Row
With Sheets("Contenu de répertoire")
If .Cells(nRow, 4).Value <> "" Then
.Hyperlinks.Add ActiveSheet.Range("B" & nRow), ActiveSheet.Range("D" & nRow).Value
.Hyperlinks.Add ActiveSheet.Range("D" & nRow), ActiveSheet.Range("D" & nRow).Value
.Hyperlinks.Add ActiveSheet.Range("E" & nRow), ActiveSheet.Range("E" & nRow).Value
End If
End With

Next

MsgBox "Remplissage liens terminé !", vbInformation, "Opération terminée"

End Sub
 
Re : Excel VBA et Liens Hypertextes

Bonsoir à tous

Rouday (Bienvenue sur le forum)
Essaie avec ces modifs
Sub mettre_liens()
Dim fin As Long
Dim nRow As Long

For nRow = 5 To Range("B4").End(xlDown).Row
With Sheets("Contenu de répertoire")
If .Cells(nRow, 4).Value <> "" Then
.Hyperlinks.Add ActiveSheet.Range("B" & nRow), ActiveSheet.Range("D" & nRow).Value
.Hyperlinks.Add ActiveSheet.Range("D" & nRow), ActiveSheet.Range("D" & nRow).Value
.Hyperlinks.Add ActiveSheet.Range("E" & nRow), ActiveSheet.Range("E" & nRow).Value
End If
End With

Next

MsgBox "Remplissage liens terminé !", vbInformation, "Opération terminée"

End Sub

Merci Staple1600, j'ai essayé mais ça ne marche pas non plus. J'ai essayé également de mettre en Option Explicit mais rien à faire, c'est vraiment étrange 🙁
 
Re : Excel VBA et Liens Hypertextes

Re

En relisant ton premier message, cela a fait Tilt!
Mon fichier est une liste des 75000 chemins d'accès
Ce n'est ni étrange ni bizarre mais prévu par Microsoft 😉
Limitations Excel
[TABLE="class: grid, width: 480"]
[TR]
[TD]Liens hypertexte dans une feuille de calcul[/TD]
[TD]66 530 liens hypertexte[/TD]
[/TR]
[/TABLE]
source (voir ici )
 
Dernière édition:
Re : Excel VBA et Liens Hypertextes

Bonsour®
Re

En relisant ton premier message, cela a fait Tilt!

Ce n'est ni étrange ni bizarre mais prévu par Microsoft 😉
Limitations Excel
[TABLE="class: grid, width: 480"]
[TR]
[TD]Liens hypertexte dans une feuille de calcul[/TD]
[TD]66 530 liens hypertexte[/TD]
[/TR]
[/TABLE]
source (voir ici )

🙄
Heu... ??? mon coté mouche du coche...
😕 Quelle utilité de créer 75000 liens dont certains ne seront probablement jamais ou peu utilisé ???
😎
pour quoi ne pas générer dynamiquement les liens utiles uniquement lorsque l'on en a le besoin ???
l'adresse URL n'est jamais qu'un string...
 
Dernière édition:
Re : Excel VBA et Liens Hypertextes

Bravo Stape1600 !
Je ne savais pas qu'il y avait de telles subtilités saperlipopette !
Je vais devoir décomposer le fichier !
Merci de cette résolution si rapide !
Re

En relisant ton premier message, cela a fait Tilt!

Ce n'est ni étrange ni bizarre mais prévu par Microsoft 😉
Limitations Excel
[TABLE="class: grid, width: 480"]
[TR]
[TD]Liens hypertexte dans une feuille de calcul[/TD]
[TD]66 530 liens hypertexte[/TD]
[/TR]
[/TABLE]
source (voir ici )
 
Re : Excel VBA et Liens Hypertextes

En effet, je vais m'orienter vers une requete plutot dynamique pour générer les liens en fonction des besoins. Pour info il s'agit d'un fichier servant de base de données à plus de 20000 employés d'où la nécessité de capitaliser un grand nombre de dossiers 😉
Bonsour®

🙄
Heu... ??? mon coté mouche du coche...
😕 Quelle utilité de créer 75000 liens dont certains ne seront probablement jamais ou peu utilisé ???
😎
pour quoi ne pas générer dynamiquement les liens utiles uniquement lorsque l'on en a le besoin ???
l'adresse URL n'est jamais qu'un string...
 
- 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
2
Affichages
423
Réponses
4
Affichages
364
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
254
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
84
Réponses
2
Affichages
411
Retour