Bonjour à tous.

Je suis un contributeur sur Wikipédia et utilise quelques macros en VBA pour réaliser quelques tâches répétitives sur certains textes ou articles, en particulier lorsque ces tâches font intervenir des bases de données associées.

Je butte aujourd’hui sur une tâche un peu différente qui concerne le chargement d’images en masse sur Commons, un entrepôt de stockage d’images associé à l’univers Wikimédia/Wikipédia. Je sens que je ne suis pas loin, mais … cela ne vient pas !

Il y a différentes manières de charger des images sur Commons, mais dans mon cas, je préfère recourir à ce que l’on appelle le formulaire simple que l’on peut voir avec ce lien : https://commons.wikimedia.org/w/inde...ormstyle=basic
Précisions, il faut se connecter et donc avoir un pseudo pour avoir accès au formulaire d'import - J'ai créé un compte spécial pour vous connecter : login Roulex68 mdp Roulex68?! (attention un seul peut se connecter en même temps et surtout évitez de charger réellement une image de votre ordi!).

Pour le chargement d'une image, il s’agit donc de remplir automatiquement un formulaire qui se présente comme suit :
Nom : Formulaire.png
Affichages : 405
Taille : 28,5 Ko

Avant de cliquer sur ‘importer un fichier », il y a quatre informations à renseigner dans des fenêtres :
- le nom du fichier source (en réalité, l’adresse du fichier source en local où se trouve le fichier que l'on veut charger) (id = wpUploadFile ) – (cette adresse se présente dans mon cas comme suit : C:\0 WIKI Communes\0-Divisions\Intercos\DensitésPop2019\76-Intercos2019-247600786-Densités.png)
- le nom sous lequel il sera enregistré (id = wpDestFile ) (76-Intercos2019-247600786-Densités.png)
- la description du fichier (id = wpUploadDescription )
- la licence de l’image (mais on peut se passer de cette info, si on la saisit dans la description du fichier).

Voici l’extrait du code correspondant au remplissage du formulaire, où il y a un problème :
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
18
19
20
21
22
23
24
25
26
 
<!--
    IE.Navigate "https://commons.wikimedia.org/w/index.php?title=Special:Upload&uselang=fr&uploadformstyle=basic"
 
    IE.Visible = False
 
    WaitIE IE              	 'On attend le chargement complet du formulaire
 
    Set IEDoc = IE.Document
 
    Set NomFichSource = IEDoc.all("wpUploadFile")
    NomFichSource.Value = NomFichierSource
 
    Set NomFichierDest = IEDoc.all("wpDestFile")
    NomFichierDest.Value = NomFichierDestination
 
    Set DescrFichier = IEDoc.all("wpUploadDescription")
    DescrFichier.Value = descriptionFichier
 
    Set InputWp = IEDoc.all("wpUpload")    	        'On pointe notre bouton importer
 
    InputWp.Click                         		 	'On simule un clic
 
    WaitIE IE
    Wait2 (1)
//-->
NomFichierSource, NomFichierDestination et descriptionFichier sont des variables élaborées par le bot selon l’image chargée.

Le bot plante avec le message « Le fichier que vous voulez importer semble vide. ».
Et effectivement la fenêtre du nom du fichier source reste vide. Il ne récupère donc pas le nom ni l'adresse du fichier.

A la main, il faut cliquer sur « Parcourir », puis sur « ouvrir » pour saisir le chemin du fichier en local. Je pense qu’il doit y avoir une validation au niveau de cette fenêtre que je ne fais pas pour que le formulaire puisse être renseigné correctement. Je n'ai en effet pas pu trouver l'identifiant associé au bouton "ouvrir", c'est probablement là qu'est le pb.

Quelqu’un aurait-il une idée de la solution ? Merci par avance.

Roland