VBA - Récupérer un lien URL

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 !

nadir****

XLDnaute Occasionnel
Bonsoir.

Existe-t-il un moyen de récupérer un lien URL en VBA ?
Un peu comme la méthode getopenfilename permet de récupérer le nom d'un fichier.

Je cherche à ouvrir un fichier dont l'URL est disponible en intranet mais je voudrais laisser à l'utilisateur le choix du fichier.

Merci à tous.

Nadir
 
Re : VBA - Récupérer un lien URL

Bonjour Nadir**** 🙂,
Ta question manque un peu de clarté 😉.
La méthode GetOpenFileName permet de récupérer le chemin d'un fichier, mais il existe des dossiers et une arbrescence sur le disque ou le serveur.
Sous quelle forme se présente tes URL pour pouvoir obtenir ce type de boite de dialogue 🙄 ?
Tu parles d'intranet. Mais je penses qu'ils se présentent sur une page WEB. As-tu essayé une requête pour charger la page WEB sur une feuille et de récupérer tes URL ?
Sinon, fait une recherche sur WebBrowser 😉.
Bonne soirée 😎
 
Re : VBA - Récupérer un lien URL

Bonjour à tous.
Merci JNP pour ta réponse est il est vrai que je ne suis pas très clair.
Effectivement, je cherche à récupérer une page web mon intranet.
Une ou plusieurs pages web sont déposées chaque jour sur cet intranet et je voudrais que l'utilisateur puisse choisir cette page lui même.
Lorsque la page est connue, il est assez simple de créer une requète (du moins pour moi avec le générateur de macro).
Voici ce qu'il génère:
Code:
Sub TestIntranet()

    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://export.millelieux.taranis.info/ASSDEP/B00507.txt", Destination:= _
        Range("$A$1"))
        .Name = "B00507"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub

Mais est-ce qu'il est possible de laisser à l'utilisateur le choix de la page à ouvrir et non de lui imposer
Code:
http://export.millelieux.taranis.info/ASSDEP/B00507.txt

J'espère que j'ai été plus clair cette fois ci.

Les adresses ne sont hélas pas accessibles hors intranet.

Merci
 
Re : VBA - Récupérer un lien URL

Re 🙂,
Certes, mais où sont stockées les liens de tes pages 😛 ?...
En principe, sur ton intranet, tu as une page type "Acceuil" avec le lien des différentes pages accessibles, non 🙄 ?
Donc tu fait une requête pour récupérer ta page "Acceuil". Là, tu listes les pages et les liens associés et tu les proposent en choix, puis tu lances ta deuxième requête avec le lien choisi 😀.
Bon courage 😎
 
Re : VBA - Récupérer un lien URL

D'accord. Je commence à comprendre.
Les liens sont stockés dans l'URL suivante:
Code:
http://export.millelieux.taranis.info/ASSDEP/
Pourrais tu m'aider pour écrire la liste de choix pour l'utilisateur ?
Je sais récupérer les liens dans une feuille (temporaire).
Je pense pouvoir filtrer les liens les plus récents (moins d'un mois).
Dois-je utiliser une "inputbox" ou y a t il plus intelligent ?
D'autant plus qu'il y a un nombre inconnus de liens.
En tout cas, merci pour ton aide.
Nadir.
 
Re : VBA - Récupérer un lien URL

Re 🙂,
OK 😉.
Maintenant, que veux-tu faire avec ?
Mettre l'hyperlien dans chacune des cases B de l'Excel ?
Faire une requête après clic sur une case B pour importer en Feuil2 ?
Obtenir la liste des fichiers dans un USF ? Et en faire quoi après ?
C'est vaste 😛...
A + 😎
 
Re : VBA - Récupérer un lien URL

Re 🙂,
Une première ébauche (les tableaux de transcription de date sont à compléter...) 😉.
J'ai filtré au 31/08/2010.
Reste à voir ce que tu va faire de ta liste 😀.
A + 😎
 

Pièces jointes

Re : VBA - Récupérer un lien URL

Re 🙂,
Alors mets dans le module de la feuil1
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 2 Or Target = "" Or Target.Row < 7 Then Exit Sub
Call Appelle(Target.Text)
End Sub
et dans le module1
Code:
Sub Appelle(Fichier As String)
    With Sheets("Feuil2").QueryTables.Add(Connection:= _
        "URL;http://export.millelieux.taranis.info/ASSDEP/" & Fichier, Destination:=Range("$A$1" _
        ))
        .Name = Fichier
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub
ça devrait marcher 😉.
Bye 😎
 
- 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
15
Affichages
774
Retour