Extraction d'un site web avec adresse variable

Bonjour à tous,

Voilà, j'ai fait une macro permettant d'extraire le contenu d'un site Web dans une Feuille Excel. Jusqu'ici pas de problème. En revanche, je souhaiterais que l'adresse html que j'extrais soit choisis par l'utilisateur. Ainsi j'essaye de créer une boîte de dialogue pour récupérer le lien que l'utilisateur souhaite extraire, mais je ne parviens pas à créer une extraction variable en fonction de ce que l'utilisateur entre comme valeur de champ.

Idéalement, étant donné que l'adresse html est toujours sous une forme : https://abcde:...079...html je souhaiterais pouvoir demander le chiffre central de l'adresse à l'utilisateur (079 dans mon exemple) et que la macro se charge de remplacer au sein de mon adresse type, la valeur de la page choisie. Mais si cela n'est pas possible, je peux me résoudre à utiliser une solution qui demande l'intégralité du lien à l'utilisateur.

Mon problème est donc que dans la fonction QueryTables.Add me permet de rentrer une page html à extraire, mais que je ne parviens pas à en faire une donnée variable qui pourrait être choisi par l'utilisateur. Par exemple, dans l'exemple ci dessous, je souhaiterais que l'utilisateur puisse changer l'adresse https://www.blog-excel.com à extraire, avant que l'extraction ne se fasse :

With Sheets("TEMP").QueryTables.Add(Connection:="URL;https://www.blog-excel.com" _
, Destination:=Sheets("TEMP").Range("$A$1"))
.Name = "exemple"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingAll
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With

Voilà, je ne sais pas si c'est très clair, mais par avance je vous remercie pour votre aide.

Bonjour Glouposti et

Une petite présentation ICI serait la bienvenue

Sinon avec ce genre de code à modifier pour l'URL

Sub Test()
  Dim sNumURL As String
  sNumURL = Application.InputBox("Chiffre de l'URL", "SAISIE du CHIFFRE", Type:=1)

  With Sheets("TEMP").QueryTables.Add(Connection:="URL;https://abcde" & sNumURL & ".html", _
    Destination:=Sheets("TEMP").Range("$A$1"))
    .Name = "exemple"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = False
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .WebSelectionType = xlEntirePage
    .WebFormatting = xlWebFormattingAll
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = False
    .WebDisableRedirections = False
    .Refresh BackgroundQuery:=False
  End With

End Sub

@+

Merci infiniment BrunoM45 pour cette aide, qui correspond parfaitement à ma demande.

Merci également pour le lien vers le site de présentation, j'ai pu créer une page de présentation ;)

Re,

Très bien, juste un petit truc supplémentaire, pensez à mettre le sujet résolu en cliquant sur le bouton

image

du post qui vous a apporté la solution pour cette fois, je l'ai fait pour vous

@+

Merci beaucoup, je ne suis pas encore très au point, mais je vous promets de m'améliorer.

Re,

C'est bien pour cette raison qu'il est important de passer par [A LIRE AVANT DE POSTER]

Tout est indiqué dedans

Bonjour BrunoM45, bonjour à tous,

La fonction que vous m'aviez proposé ne fonctionne plus. Elle me renvoie l'erreur suivante :

Run-time error '1004':

Unable to open

https://abcde

The Internet site reports that the item you requested could not be found. (HTTP/1.0 404)

Or lorsque je remplace la dimension variable de l'adresse par mon adresse dans son intégralité (ie se terminant par 079... etc), la macro parvient à faire l'extraction. Il semble donc que le problème vienne de la compréhension par la macro, du site que j'essaie de lui renseigner.

Auriez-vous une idée, d'où peut provenir cette erreur ?

Merci d'avance

Rechercher des sujets similaires à "extraction site web adresse variable"