Utilisateur:Roland45/VBA et Wikipédia

Cette page vise à présenter une approche des scripts VBA appliqués aux articles de Wikipédia et particulièrement aux articles de communes de France dans Wikipédia.

Les essentiels modifier

Pour commencer, il faut bien entendu absorber quelques tutos, pour assimiler les bases du VBA. En voici deux :

  • Excel pratique ;
  • Manipuler les chaînes de caractères - essentiel. Car le principe de nos interventions sera de récupérer le contenu d'un modèle ou d'un article sous forme d'une immense chaîne de caractères que l'on manipule ensuite, puis que l'on recharge sur Wikipédia.

Noter que pour ce que l'on souhaite faire, à savoir intervenir sur les articles de Wikipédia, on n'a pas besoin d'être un expert en VBA, mais connaitre uniquement les manipulations et autres traitements nécessaires à ce que l'on veut obtenir. De la même manière que récupérer à la volée des données sur une page web (pas une base de données), se fera toujours de la même manière (et cela ne s'invente pas!).

Un script complet en exemple : Actualisation de l'Infobox des articles de communes modifier

Le script est ici

Ce n’est assurément pas le plus simple pour commencer, car le script est relativement long et complexe. Mais cela permet de voir :

Sur la classeur xls :
Les feuilles de calcul regroupent ici les bases de données essentielles utiles pour intervenir sur les modèles ou articles :

  • COM2020, base des communes avec les noms des articles wikifiés ou codés (dans certains cas il est nécessaire d’avoir les caractères accentués ou spéciaux des url en code Ascii. Noter également la colonne TNCC qui permet de gérer les articles et prépositions des noms ;
  • EPCI2020, base des EPCI à fiscalité propre avec les libellés de l’Insee et les mêmes en wikifiés
  • CANTON, ARR, DEP, REGION, CIRC, la même chose pour les cantons, arrondissements, départements, régions et circonscriptions législatives.
  • Tables : différentes tables à utiliser suivant les scripts.

Sur le script : Sans aller dans le détail, on peut voir un programme principal (Corr_Infobox) qui traite le problème d’actualisation de l’Infobox. Il y a quelques explications (en vert) et deux sous-programmes :

  • WaitIE : qui permet d’attendre le chargement complet d’Internet Explorer ;
  • Wait2(length) : qui permet de mettre une temporisation (en secondes) quand on en a besoin.

Pour se faire la main, il est nécessaire de maîtriser les boucles et tris. La programme Ajout_Indicateurs en début de script permet de voir un exemple de traitement de base.

2 objectifs pour commencer modifier

Pour avancer, il faut se donner des objectifs. En voilà deux (que l'on ne va pas atteindre immédiatement!) :

  • Obj 1 : Modifier tous les anciens modèles de population dans les articles de communes (uniquement quand c'est nécessaire!).
  • Obj 2 : Ajouter le statut des communes en aire urbaine dans les modèles d'informations générales.

Pour atteindre un objectif, on ne part pas tête baissée dans un script. On se pose d'abord la question de comment on va y arriver. Il y a souvent plusieurs chemins et souvent il y a des étapes intermédiaires, avec l'utilisation de scripts/macros/bots intermédiaires. Et dans un premier temps on ne court pas plusieurs lièvres à la fois, càd que l'on ne travaille que sur un seul objectif à la fois (même s'il y en a deux ci-après!).

Objectif 1 - Modifier tous les anciens modèles de population dans les articles de communes modifier

Quelles étapes ? modifier

Objectif 2 - Ajouter le statut des communes en aire urbaine dans les modèles d'informations générales modifier

Quelles étapes  ? modifier