Génération automatique de fichiers d'import XRR v2.0 (XML) pour l'outil SCORE de la FFVoile à partir d'une feuille Excel.
Ce projet propose une macro en VBA permettant de générer un fichier XML au format XRR, compatible avec l'outil SCORE de la FFVoile, à partir d'une liste d'inscrits provenant d'un fichier Excel.
- Microsoft Excel (avec macros activées)
- Connaissances de base en VBA recommandées
SailingXML.bas: module VBA (version 2025-09-29 -- XRR v2.0)Template_Source.xlsx: modèle Excel avec l'ordre des colonnes attenduREADME.md: ce fichierLICENSE: licence GNU GPL v3
Note
La macro gère à la fois les inscriptions en temps compensé (attribut OsirisGuest) et en temps réel (attribut Ranking) au format XRR v2.0. L'encodage du fichier est en Windows-1252 (CP1252).
- Télécharger
ou cloner ce dépôt.
- Ouvrir le fichier
Template_Source.xlsxet entrer les inscrits selon les colonnes prévues. Toutes les colonnes ne sont pas obligatoires. Pour les licenciés FFVoile, la licence suffit (mais pour plus de lisibilité, il est recommandé de fournir aussi le nom).
Tip
Les dates de naissance doivent être saisies dans un format DATE d'Excel : la macro convertira automatiquement ce format en yyyy-mm-jj dans le fichier XML généré (format attendu par SCORE).
La seule colonne OBLIGATOIRE est la colonne Numéro compétition. Mais le but de cet automatisme est de donner le plus d'information possible dans le fichier d'import pour avoir le moins d'informations à saisir !
- Ouvrir l'éditeur VBA (Alt+F11) dans Excel.
- Importer le module
SailingXML.basdans le projet VBA (menu Fichier > Importer un fichier...).
Important
La macro utilise la feuille active pour lire les inscrits : assurez-vous d'être sur la bonne feuille avant d'exécuter la macro.
- Depuis le fichier Excel avec les inscrits.
- Exécuter la macro
CreateSailingXMLdepuis l'éditeur VBA ou depuis le bouton Macro du ruban si l'onglet Développeur est visible. - Le fichier XML sera généré et enregistré sur le bureau de l'utilisateur courant avec la date du jour dans le nom (ex :
%USERPROFILE%\Desktop\SailingXRR_2025-08-25.xml). - Importer ce fichier dans SCORE.
- Les constantes
COL_xxxdéfinissent les index des colonnes. Si le fichier source diffère du modèle, il convient de modifier leurs valeurs. - Si une colonne n'existe pas, indiquer l'index d'une colonne vide ou adapter le code. Pour cela :
- Commenter les lignes de définition des constantes (
Dim COL_xxx)- Corriger la création des attributs afférents aux constantes commentées en remplaçant
ws.Cells(i, COL_xxx).Valuepar"". Le plus simple étant de respecter le fichier modèle !
<SailingXRR>
<Person PersonID="123-P1" FamilyName="..." ... />
<Person PersonID="123-P2" FamilyName="..." ... />
<Boat BoatID="123-B1" SailNumber="..." ... />
<Event CoID="123">
<Team TeamID="123-T1" BoatID="123-B1" Cat="..." NOC="...">
<Crew PersonID="123-P1" Position="S" />
<Crew PersonID="123-P2" Position="C" />
</Team>
</Event>
</SailingXRR>Ce projet est sous licence GNU GPL v3.
Pour toute question, suggestion ou bug, ouvrez une issue sur GitHub ou contactez Mttwt9.