Importer des données web en boucle

keufy Messages postés 4 Statut Membre -  
keufy Messages postés 4 Statut Membre -
Bonjour à tous,
Je suis nouveau sur ce forum alors j'espère poster au bon endroit et être claire dans mes explications.

Mon besoin
- pour chaque objet présent en A:A de la feuille parametre
- créer un onglet par objet avec le nom de l'objet
- récupérer les données présentes sur une page html
- insérer les données importées dans l'onglet correspondant

Dans un premier temps j'ai fait une macro qui créée les onglets avec le nom des objets et ça fonctionne :
Sub ajout_feuilles()

Dim nom, serv

For Each serv In Range("A2:A500")
If serv <> "" Then
nom = serv.Value
Sheets.Add Count:=1, after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = nom
End If
Next serv

End Sub

Par contre, ma macro d'importation des données web tombe en erreur :
Sub recup_config()

Dim serv

For Each serv In Sheets("Parametre").Range("A2:A500")
Sheets(serv).Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://sxanoy14/RECUP_CONFIG/html/AIX/" & serv & ".html#pi_15", _
Destination:=Range(serv & "!$A$1"))
.Name = serv & ".html#pi_15"
.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

End Sub

Erreur rencontrée sur "Sheets(serv).Select" : Erreur d'exécution 13 Incompatibilité de type

Sauriez-vous m'aider pour me sortir de ce faux pas ?
Merci par avance.

2 réponses

Polux31 Messages postés 7219 Statut Membre 1 204
 
Bonjour,

Ton For Each ... est sur une plage de cellules et non sur les sheets !!!
"serv" est donc un Range et non un Sheets.

;0)
0
keufy Messages postés 4 Statut Membre
 
Merci pour ce premier retour.

Par contre comment puis je faire pour qu'à chaque boucle, excel selectionne la feuille portant le même nom que l'objet (de la colonne A de paramètre) actif dans le For Each ?

En espérant ne pas trop être confus dans mes explications.
0