requête donnée externe à partir d'un lien hypertexte

  • Initiateur de la discussion Initiateur de la discussion domexcel35
  • 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 !

domexcel35

XLDnaute Nouveau
bonjour,

je suis nouveau sur le forum et novice en matière d'excel
j'aurai besoin d' aide pour la création d'un fichier excel:

ce fichier contient une 1ère page nommée "lien" ou:

en a1: se trouve un lien hypetexte: http:// lien1
en a2: se trouve un lien hypetexte: http:// lien2
en a3: se trouve un lien hypetexte: http:// lien3
........
en a20: se trouve un lien hypetexte: http:// lien20

je voudrai qu'ensuite, pour chaque lien, une page se "créait" avec la donnée externe (requête)du lien (en a1):

en page nommée "page 1" ...........donnée externe du lien 1
en page nommée "page 2" ...........donnée externe du lien 2
en page nommée "page 3" ...........donnée externe du lien 3
........
en page nommée "page 20" ...........donnée externe du lien 20

j'ai cherché sur le forum et j'ai rien trouvé pour résoudre mon problème...
j'ai essayé via les données externes...mais, il faut tappez à chaque fois le lien hypertexte...je voudrai que ça se fasse automatiquement...

d'une part, je sais pas si je me suis bien expliqué ...d'autre part, je sais pas si ma "requete" est réalisable....merci de bien vouloir m'éclairer...
merci d'avance

cordialement
dom
 
Dernière édition:
Re : requête donnée externe à partir d'un lien hypertexte

Bonjour DomExcel35 et bienvenue 🙂,
Nous ne sommes que des bénévoles, avec évidement d'autres activités à l'emploi du temps, donc moins de 24h sans réponse, ce n'est pas encore alarmant, mais un petit Up comme tu viens de faire est généralement efficace.
En général, je ne répond pas sur un post où rien n'est commencé. Donc pour te mettre sur la voie, il suffisait d'enregistrer avec l'enregistreur de macro, tu aurais obtenu ce code
Code:
Sub Macro1()
'
' Macro1 Macro
'
'
    With [COLOR=red][B]ActiveSheet[/B][/COLOR].QueryTables.Add(Connection:= _
        "URL;[COLOR=red][B]http://www.excel-downloads.com/forum[/B][/COLOR]", Destination:=Range("$A$1"))
        .Name = "forum"
        .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
où il faut s'arranger pour que l'ActiveSheet soit une nouvelle feuille, et récupérer l'adresse dans ta cellule pour modifier le lien.
Si tu n'est pas en 2007, n'hésite pas à réenregistrer la macro, il peux y avoir des différences dans le code.
Une fois que tu auras un peu avancé, reviens vers nous si tu ne trouves pas.
Bon courage 😎
 
Re : requête donnée externe à partir d'un lien hypertexte

oups!!!, au temps pour moi...
en tout cas merci pour beaucoup pour la réponse.
comme je l'ai dit , je suis novice en excel...je vais regarder et essayer ce que tu m'a dit
"c'est en faisant... que l'on apprend"

merci
 
Re : requête donnée externe à partir d'un lien hypertexte

voilà...j'ai mis mon fichier en exemple...
j'ai ma 1ère page nommée "lien"
ou se trouvent dans les cellues A1 à A20 .....des "données"

grâce aux recherches sur ce site, j'ai réussi a trouver une macro pour extraire
le lien hypertexte de ces données (en B1 à B20)...🙂

et c'est donc ces liens que je voudrais "exploiter" en faisant une requête web
pour chaque lien sur une nouvelle page (une page par lien) comme expliquer dans mon 1er message.

j'ai beau "triturer" ta macro dans tous les sens...je suis inccapable
d'en ressortir quelquechose!!! (novice*)...🙁

besoin d'aide...🙄...merci
 

Pièces jointes

Re : requête donnée externe à partir d'un lien hypertexte

petite modif...🙄

je voudrai que les nouvelles pages se nomment "feuil1...feuil2....à....feuil20"
et déjà existantes (avant de lancer la macro)...voir fichier exemple
et non avec le nom du "lien"...car je voudrai pouvoir créer une page "récupération des données" ou je fais un copier/coller des "feuil1 à feuil20"

possible???

cordialement

le novice...
 

Pièces jointes

Dernière édition:
Re : requête donnée externe à partir d'un lien hypertexte

Re 🙂,
Pas très logique mais possible
Code:
Sub ExtractionLiensHypertextes()
Dim Cell As Range, I As Integer
I = 1
For Each Cell In Range("A1:A" & Range("A65536").End(xlUp).Row)
Worksheets.Add
ActiveSheet.Name = "Feuil" & I
I = I + 1
With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;" & Cell.Hyperlinks(1).Address, Destination:=Range("$A$1"))
        .Name = Split(Cell.Hyperlinks(1).Address, "/")(UBound(Split(Cell.Hyperlinks(1).Address, "/")))
        .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
Next Cell
End Sub
Bonne soirée 😎
 
Re : requête donnée externe à partir d'un lien hypertexte

ça me creait une "FEUIL21" et après ça me donne une erreur.... "impossible de créer une page déjà existante..."
???

Code:
Sub ExtractionLiensHypertextes()
Dim Cell As Range, I As Integer
I = 1
For Each Cell In Range("A1:A" & Range("A65536").End(xlUp).Row)
Worksheets.Add
[COLOR="red"][B]ActiveSheet.Name = "Feuil" & I[/B][/COLOR]
I = I + 1
With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;" & Cell.Hyperlinks(1).Address, Destination:=Range("$A$1"))
        .Name = Split(Cell.Hyperlinks(1).Address, "/")(UBound(Split(Cell.Hyperlinks(1).Address, "/")))
        .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
Next Cell
End Sub
 
Re : requête donnée externe à partir d'un lien hypertexte

ok, j'ai compris!!!, il fallait pas que je creais déjà les feuilles ..."feuil1...feuil2....à....feuil20"et la macro marche!!!....merci

le problème, c'est qu'après, comme je voulais récupérer les données de chaque feuilles sur la feuille "récupération des données" via "coller avec liaison"....exemple: "coller avec liaison la cellule a1 de la feuil1 sur cellule a1 de récupération avec liaison"

comment faire car ces feuilles n'éxistent pas au départ...je peux pas renvoyer une liaison à une feuille qui n'est pas encore crée???

je sais pas si je suis clair....déjà, en tout cas, merci de ton aide!!!
 
Dernière édition:
Re : requête donnée externe à partir d'un lien hypertexte

Re 🙂,
le problème, c'est qu'après, comme je voulais récupérer les données de chaque feuilles sur la feuille "récupération des données" via "coller avec liaison"....exemple: "coller avec liaison la cellule a1 de la feuil1 sur cellule a1 de récupération avec liaison"
comment faire car ces feuilles n'éxistent pas au départ...je peux pas renvoyer une liaison à une feuille qui n'est pas encore crée???
Le problème, c'est qu'en fonction de la page web, tes données ne seront pas forcément toujours au même endroit 😛... Donc ta liaison de toute façon ne sera pas correcte. Conclusion, il faut que tu développes en macro une recherche qui s'effectuera après l'import pour ramener tes données 😉.
D'où ma remarque du post précédent : pas logique 😀.
Bon courage 😎
 
- 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
19
Affichages
2 K
Retour