Power Query Comment conserver les liens hypertexte suite a une Requêtes Powerquery

lennyg

XLDnaute Nouveau
Bonjour à tous

je voudrais d'abord vous remercier grâce a vous j'ai découvert Powerquery et cela m'aide beaucoup

cependant j'ai encore besoin de votre aide sur le fichier ci-joint .

j'ai créé une requête pour afficher une copie du tableau sommaire pour faire une feuille avec seulement les procédures par service
ces feuilles évolue avec le temps tout marche bien seul problème j'aimerais conserver les liens hypertexte présent sur le sommaire.
je n'ai pas trouvé comment faire sachant que j'ai un peu plus d'onglet sur le fichier de base un onglet pour chaque services.
j'ai changé les lien hypertexte aussi pour garder les chemins d'accès confidentiel

j'espère être clair n'hésitez pas a regarder le fichier vous allez mieux comprendre

le fichier contient des requêtes Powerquery
 

Pièces jointes

  • Classeur1.xlsx
    72.2 KB · Affichages: 7
Solution
Bonjour lennyg, chris, le forum,

Avec ce fichier (4) tous les liens de la feuille "Sommaire" sont traités :
VB:
Private Sub CommandButton1_Click() 'bouton Liens
Dim d As Object, c As Range
Set d = CreateObject("Scripting.Dictionary")
For Each c In [Sommaire]
    If c <> "" Then If c.Hyperlinks.Count Then d(c.Value) = c.Hyperlinks(1).Address 'mémorise l'adresse du lien
Next c
For Each c In [Procédures_Applicable_HSE]
    If d.exists(c.Value) Then c.Hyperlinks.Add c, d(c.Value) 'crée le lien
Next c
For Each c In [Procédures_Applicable_M_V]
    If d.exists(c.Value) Then c.Hyperlinks.Add c, d(c.Value) 'crée le lien
Next c
End Sub
3 liens digiqual sont parfaitement restitués dans la 2ème feuille.

A+

lennyg

XLDnaute Nouveau
Bonjour lennyg, chris, le forum,

Avec ce fichier (4) tous les liens de la feuille "Sommaire" sont traités :
VB:
Private Sub CommandButton1_Click() 'bouton Liens
Dim d As Object, c As Range
Set d = CreateObject("Scripting.Dictionary")
For Each c In [Sommaire]
    If c <> "" Then If c.Hyperlinks.Count Then d(c.Value) = c.Hyperlinks(1).Address 'mémorise l'adresse du lien
Next c
For Each c In [Procédures_Applicable_HSE]
    If d.exists(c.Value) Then c.Hyperlinks.Add c, d(c.Value) 'crée le lien
Next c
For Each c In [Procédures_Applicable_M_V]
    If d.exists(c.Value) Then c.Hyperlinks.Add c, d(c.Value) 'crée le lien
Next c
End Sub
3 liens digiqual sont parfaitement restitués dans la 2ème feuille.

A+
Je viens d'essayer dans mon fichier de base cela fonctionne bien =D

Merci beaucoup pour votre aide précieuse j'ai plus cas Modifier un peu le code pour ajouter les autres onglets

j'ai essayé de regarder dans le code ce que tu as modifié pour dire de prendre aussi ancien numéro mais je trouve pas ou tu fais mention a la colonne

Merci beaucoup pour votre aide précieuse j'ai plus cas Modifier un peu le code pour ajouter les autres onglets
 
Dernière édition:

lennyg

XLDnaute Nouveau
Bonjour à tous

PowerQuery est un requêteur.

Comme tous les requêteurs il manipule des données brutes, typées, et ne traite donc pas le format : dans les systèmes de bases de données où sont nés les requêteurs, le format est totalement indépendant des données et passe par des outils de représentation des données : écrans d’interface utilisateurs, listings d'impressions...
Cela est très souple et très puissant.

Excel mélange la donnée et sa représentation ce qui présente des avantages et des inconvénients

PowerQuery propose de restituer les données brutes sous forme de tableau structuré ou de TCD

Je doute que PowerQuery évolue sur l'aspect des hyperliens

Il y a eu plusieurs propositions de VBA ici et sur l'autre fil
Selon ton besoin, à définir clairement, tu as donc le choix des solutions
Merci pour ta réponse je connais rien en VBA je débute,
je sais Modifier un code créé mais tout faire seul j'ai pas encore le niveau.
la formule de Job75 fonctionne sauf qu'elle est instable je ne sais pas pourquoi si je modifie le lien elle n'actualise pas et prés actualisation de la requête elle n'affiche pas tout :s
 

Discussions similaires

Statistiques des forums

Discussions
312 108
Messages
2 085 377
Membres
102 876
dernier inscrit
BouteilleMan