IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Récupération données HTML


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2018
    Messages : 9
    Par défaut Récupération données HTML
    Bonjour,
    J'ai réalisé une demande de récupération de données à mon boulot sur un site intranet de l'entreprise, la récupération se fait donc tous les jours et je reçois le fichier tous les matins sauf que celui-ci est en format HTML.

    Je souhaiterais crééer une macro me permettant de récupérer tous les jours, les données du tableau HTML sur mon Excel.
    Pour le moment j'ai écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Workbooks.Open ("\\besn0101\qmgt-projet\Projet\Requete_pour_Altis\Resultats\CIR Avec ALTIS _ 2360320\DocLinks.htm")
    Workbooks("rapport1\rapport1.htm").Sheets("Rapport1").Select
    Selection.Copy
    Workbooks(NomFic).Sheets("Feuil1").Activate
    Range("A1").PasteSpecial
    Pensant que ça suffirait (et oui je suis novice) et en fait ça ne fonctionne pas du tout ! :'(

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    en fait ça ne fonctionne pas du tout ! :'(
    "Ca ne fonctionne pas", ce n'est pas très parlant comme description de défaut.

    Pour utiliser le PasteSpecial, il faut avoir copié des cellules.
    Or, dans ton code, le Copy porte sur une feuille.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Workbooks.Open ("\\besn0101\qmgt-projet\Projet\Requete_pour_Altis\Resultats\CIR Avec ALTIS _ 2360320\DocLinks.htm")
    Workbooks("rapport1\rapport1.htm").Sheets("Rapport1").UsedRange.Copy
    Workbooks(NomFic).Sheets("Feuil1").Range("A1").PasteSpecial(xlPasteValues)
    En supposant que tu as renseigné auparavant la variable NomFic.

    Cela dit, à moins qu'il est dans ton fichier de destination un format spécial, il serait plus simple de faire un simple enregistrement de ton fichier htm dans un autre format avec un SaveAs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Open ("\\besn0101\qmgt-projet\Projet\Requete_pour_Altis\Resultats\CIR Avec ALTIS _ 2360320\DocLinks.htm")
    Workbooks("rapport1\rapport1.htm").SaveAs Filename:=NomFic, FileFormat:=xlWorkbookDefault
    En supposant que tu veux enregistrer ce fichier en xlsx.

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2018
    Messages : 9
    Par défaut Balises de code svp!
    Cela dit, à moins qu'il est dans ton fichier de destination un format spécial, il serait plus simple de faire un simple enregistrement de ton fichier htm dans un autre format avec un SaveAs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Open ("\\besn0101\qmgt-projet\Projet\Requete_pour_Altis\Resultats\CIR Avec ALTIS _ 2360320\DocLinks.htm")
    Workbooks("rapport1\rapport1.htm").SaveAs Filename:=NomFic, FileFormat:=xlWorkbookDefault
    En supposant que tu veux enregistrer ce fichier en xlsx.[/QUOTE]

    C'est exactement ça que je voulais faire !
    Oui ca me donnait une feuille blanche sans aucune de mes valeurs

    Cependant après avoir utilisé le code que tu m'as donné ça continue de me mettre un message "Debogage d'execution 9 L'indice n'appartient pas à la section"

    Je vais mettre le code en entier peut être que la réponse est dedans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub Date_de_Secu()
    Application.DisplayAlerts = True
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.MaxChange = 0.001
     
    NomFic = ThisWorkbook.Name
     
    Workbooks.Open ("\\besn0101\qmgt-projet\Projet\Requete_pour_Altis\Resultats\CIR Avec ALTIS _ 2360320\DocLinks.htm")
    Workbooks("rapport1\rapport1.htm").SaveAs Filename:=NomFic, FileFormat:=xlWorkbookDefault
     
    Application.DisplayAlerts = False
    Application.Calculation = xlCalculationAutomatic
    Application.MaxChange = 0.001
    Application.ScreenUpdating = True
     
    End Sub

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Fhello Voir le message
    Cependant après avoir utilisé le code que tu m'as donné ça continue de me mettre un message "Debogage d'execution 9 L'indice n'appartient pas à la section"
    Sur quelle ligne de code ?

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2018
    Messages : 9
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Sur quelle ligne de code ?
    Workbooks("rapport1\rapport1.htm").SaveAs Filename:=NomFic, FileFormat:=xlWorkbookDefault
    Celle ci

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    On ne met pas le chemin dans le nom d'un Workbook.
    De plus, il est curieux que tu ouvres un fichier nommé DocLinks.htm mais que tu récupères les données dans un classeur nommé rapport1.htm.

Discussions similaires

  1. [XL-2010] Récupération de données HTML
    Par SkyCorp dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/10/2015, 13h22
  2. Récupération données tableau PHP/HTML
    Par mooky_64 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 15/05/2010, 14h29
  3. Récupération données formulaire html
    Par bidulee dans le forum Struts 1
    Réponses: 1
    Dernier message: 22/04/2009, 17h11
  4. Récupération de données HTML
    Par InfoNewbie dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/03/2009, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo