Internet
Requêtes sur Internet
Pour insérer un tableau provenant d’un site Internet, à partir d’Excel, utilisez la démarche suivante :
Cliquez sur la commande située dans le groupe Récupérer et transformer des données de l’onglet Données.
Saisissez l’adresse du site web souhaité dans la zone URL, puis cliquez sur le bouton OK.
La liste des tableaux (ou tables) de la page web est alors affichée.
Cliquez sur le tableau souhaité, puis sur la liste déroulante située en bas à droite de la boîte de dialogue.
Le tableau est alors téléchargé dans une nouvelle feuille Excel.
Exemple
L’exemple suivant permet d’importer le palmarès des actions françaises à partir de la page web https://www.boursier.com/palmares/paris :
Résultat dans Excel
La requête apparaît dans le volet Requêtes et connexions. Vous pouvez remplacer son nom par "Palmares" (clic droit et sélection de l’option Renommer dans le menu contextuel).
Vous pouvez modifier le nom de l’onglet et celui du tableau de données qui portent également le nom de la requête.
L’objet QueryTable
L’objet QueryTable (table de requête) représente la requête associée à la plage de données externes (objet ListObject). Les données de la requête peuvent provenir d’une source externe, comme une base de données Microsoft Access ou SQL ou de données extraites par une requête sur le Web.
1. Propriétés de l’objet QueryTable
Propriétés des données externes
Certaines propriétés de l’objet QueryTable correspondent aux informations de la boîte de dialogue Propriétés des données externes.
Pour afficher cette boîte de dialogue :
Activez la plage de données externe en cliquant sur l’une de ses cellules.
Sélectionnez la commande du groupe Requêtes et connexions de l’onglet Données.
La fenêtre suivante est alors affichée :
N° |
Propriétés |
Valeurs retournées |
1. |
RowNumbers |
Booléen |
2. |
AdjustColumnWidth |
Booléen |
3. |
PreserveColumnInfo |
Booléen |
4. |
PreserveFormatting |
Booléen |
5. |
RefreshStyle |
Constantes : xlInsertDeleteCells xlInsertEntireRows xlOverwriteCells |
La zone Nom se rapporte à l’objet ListObject. Exemple : ActiveSheet.ListObjects(1).Name.
Propriétés de la requête
N° |
Propriétés |
Valeurs retournées |
1. |
BackgroundQuery |
Booléen |
2. |
RefreshPeriod |
Entier long |
3. |
RefreshOnFileOpen |
Booléen |
4. |
SaveData |
Booléen |
Méthodes de l’objet QueryTable
CancelRefresh
Supprime toutes les requêtes d’arrière-plan de la plage de données...
Publication de pages web
Il est possible de générer une page web au format html à partir d’un classeur, d’une feuille de calcul, d’un graphique ou d’une plage de cellules et de mettre à jour automatiquement cette page lors de l’enregistrement du classeur.
Pour publier une page web à partir d’Excel, effectuez les instructions suivantes :
Sélectionnez l’option Enregistrer sous de l’onglet Fichier.
Dans la boîte de dialogue, sélectionnez le type de fichier Page Web (*.htm ; *.html).
Cliquez sur le bouton de commande Publier pour sélectionner les éléments à publier et les options de publication (cochez les options Ouvrir la page Web publiée dans un navigateur et Republier automatiquement lors de chaque enregistrement de ce classeur).
Cliquez à nouveau sur Publier pour générer la page web.
La page est générée et affichée dans votre navigateur.
En VBA, pour associer un élément d’un classeur à une page web, vous devez créer un objet PublishObject (en utilisant la méthode Add de la collection Publish Objects). Pour publier la page web, vous devrez ensuite utiliser la méthode Publish de l’objet PublishObject.
1. Association d’un élément de classeur à une page web
Syntaxe
PublishObjects.Add(SourceType, FileName, Sheet, Source, HtmlType,
DivID, Title)
Seuls les arguments SourceType et FileName sont obligatoires.
PublishObjects |
Expression qui renvoie une collection PublishObjects. |
SourceType |
Type de l’élément à publier (xlSourceSheet, SourceRange, xlSourceworkbook, xlSourceChart, xlSourceQuery, xlSourcePivotTable…). |
Sheet |
Nom de la feuille de calcul enregistrée en tant que page web. |
Source |
Nom de l’élément à publier... |
Les objets WebOptions et DefaultWebOptions
Les objets WebOptions et DefaultWebOptions contiennent les attributs utilisés par Excel lors de l’enregistrement d’un document sous la forme d’une page web.
L’objet DefaultWebOptions contient les options web par défaut de l’application Excel : son conteneur est l’objet Application. Les propriétés de l’objet correspondent aux attributs accessibles depuis le bouton Options web de la catégorie Options avancées des options Excel.
L’objet WebOptions contient les options web du classeur spécifié : son conteneur est l’objet Workbook. Les propriétés de l’objet correspondent aux attributs accessibles depuis le bouton Outils/Options web lors de l’enregistrement d’un classeur au format "Page web".
Certaines propriétés sont communes aux deux objets, d’autres sont spécifiques à l’objet DefaultWebOptions.
1. Propriétés
a. Options de l’onglet Général
Propriétés de l’objet DefaultWebOptions
1. |
SaveHiddenData |
Booléen |
2. |
LoadPictures |
Booléen |
b. Options de l’onglet Navigateurs
Propriétés communes aux deux objets
1. |
TargetBrowser |
Constantes : msoTargetBrowserIE4 (IE5 ou IE6) msoTargetBrowserV3 (ou V4) |
2. |
AllowPNG |
Booléen |
3. |
RelyOnCSS |
Booléen |
4. |
RelyOnVML |
Booléen |
Propriétés de l’objet DefaultWebOptions
5. |
SaveNewWebPagesAsWebArchives |
Booléen |
c. Options de l’onglet Fichiers
Propriétés communes aux deux objets
1. |
OrganizeInFolder |
Booléen |
2. |
UseLongFileNames |
Booléen |
Propriétés de l’objet DefaultWebOptions
3. |
UpdateLinkOnSave |
Booléen |
4. |
CheckIfOfficeIsHTMLEditor |
Booléen |
d. Autres propriétés
Propriétés communes aux deux objets...
Import, export et mappage de fichiers XML
Le modèle objet Excel XML présenté ci-après décrit les nouveaux objets permettant de prendre en charge des données au format XML dans des classeurs Excel.
1. Collections
ListObjects
Collection de toutes les listes d’une feuille de calcul Excel. Ces listes peuvent contenir des données XML.
ListColumns
Collection de toutes les colonnes d’une liste Excel.
XmlMaps
Collection de tous les mappages XML d’un classeur. Les mappages sont utilisés pour gérer la relation entre les plages de cellules Excel et les éléments du schéma XML.
XmlSchemas
Collection de tous les schémas XML contenus dans un mappage XML.
XmlNamespaces
Collection de tous les espaces de noms XML contenus dans le classeur spécifié.
2. Méthodes de l’objet Workbook
XmlImport
Permet d’importer un fichier de données XML.
Exemple
Sub ImportXML()
Dim oMapEmployes As XmlMap
' Importe le fichier Employes.xml dans la feuille active
ActiveWorkbook.XmlImport Url:=ActiveWorkbook.Path _
& "\Employes.xml", ImportMap:=oMapEmployes, _
Overwrite:=True, Destination:=Range("A1")
oMapEmployes.Name = "Employes"
End Sub
SaveAsXMLData
Permet d’exporter les données d’un mappage XML dans un fichier XML.
Exemple
Sub ExportXML()
' Exporte le mappage XML dans le fichier Clients2.xml
ActiveWorkbook.SaveAsXMLData _
Filename:=ActiveWorkbook.Path & "\Clients2.xml", _
Map:=ActiveWorkbook.XmlMaps(1)
End Sub
3. Événements de l’objet Workbook
AfterXmlExport
Survient après l’export d’un fichier XML.
AfterXmlImport
Survient après l’import d’un...
L’objet HyperLink
L’objet HyperLink représente un lien hypertexte contenu dans une feuille de calcul, une plage de cellules ou un graphique.
L’objet HyperLink appartient à la collection HyperLinks des objets conteneur Range, Workbook et Chart.
1. Propriétés
Address
Chaîne de caractères. Adresse de la cellule contenant le lien hypertexte spécifié.
EmailSubject
Chaîne de caractères. Texte du sujet du message électronique du lien hypertexte spécifié (propriété utilisée avec les liens hypertextes des messages électroniques).
Name
Chaîne de caractères. Nom du lien hypertexte.
Range
Objet Range. Plage à laquelle le lien hypertexte spécifié est lié.
ScreenTip
Chaîne de caractères. Texte d’info-bulle du lien hypertexte spécifié.
Shape
Objet Shape. Forme liée au lien hypertexte spécifié.
SubAddress
Chaîne de caractères. Emplacement dans le document associé au lien hypertexte.
TextToDisplay
Chaîne de caractères. Texte à afficher pour le lien hypertexte spécifié.
Type
Entier long. Type du lien hypertexte spécifié.
2. Méthodes
AddToFavorites
Ajoute un raccourci vers le lien hypertexte au dossier des documents favoris.
CreateNewDocument
Crée un nouveau document lié au lien hypertexte spécifié.
Delete
Supprime le lien hypertexte spécifié.
Follow
Charge le document cible du lien hypertexte spécifié et affiche le document dans l’application appropriée.
Exemple
L’exemple suivant permet :
-
de supprimer tous les liens hypertexte d’une feuille de calcul,
-
d’ajouter un lien hypertexte dans une cellule sélectionnée par l’utilisateur,
-
d’afficher le document cible du lien hypertexte.
Sub Lien_HyperTexte()
Dim oShtEmployes As Worksheet
Dim oLnk As Hyperlink
Dim oRng As Range
' Supprime tous les liens hypertexte de la feuille
Set oShtEmployes = ThisWorkbook.Sheets("Employés")
For Each oLnk In oShtEmployes.Hyperlinks
oLnk.Delete
Next oLnk
' Sélection de la cellule par l'utilisateur
Set oRng = Application.InputBox("Sélectionner la cellule
pour le lien hypertexte", , , , , , , 8)
' Si sélection de plusieurs cellules, on ne prend que la première
If oRng.Cells.Count > 1 Then
Set oRng = oRng.Cells(1, 1)
End If
' Ajoute un lien hypertexte dans la première cellule sélectionnée
oRng.Value = "Lien sur le classeur publié"
oShtEmployes.Hyperlinks.Add Anchor:=oRng, Address:="Employes.html"
' Affiche le document cible du lien hypertexte
oShtEmployes.Hyperlinks(1).Follow
End Sub