hoquei44
Messages postés15376Date d'inscriptiondimanche 19 janvier 2014StatutMembreDernière intervention 6 juin 2023
-
Modifié le 3 juin 2019 à 20:07
Patrice33740
Messages postés8556Date d'inscriptiondimanche 13 juin 2010StatutMembreDernière intervention 2 mars 2023
-
6 juin 2019 à 10:50
Bonjour,
Je suis sur un projet de récupération de données sportives venant d'un site pour les transférer sur Wikipedia.
Je télécharge la page web du site dans mon fichier Excel, et je lance une macro pour manipuler les données. Et, au final, j'obtiens un résultat que je n'ai plus qu'à coller dans Wikipédia.
Le résultat est déjà satisfaisant cependant, j'aurais souhaité améliorer certains détails.
Actuellement, je parviens à réaliser une ligne avec l'ensemble des joueurs qui ont marqué un but pour une équipe. Un but génère l'incrémentation du buteur à la suite des autres.
Ex. :
|buts 1=JoueurA<br>JoueurB<br>JoueurC<br>JoueurC<br>JoueurA<br>JoueurD<br>JoueurC
Je voudrais retraiter cette ligne dans l'objectif que le nom d'un même joueur n'apparaisse qu'une seule fois et que le nombre de but inscrit soit indiqué entre parenthèse à côté.
Ex. :
|buts 1=JoueurA (2)<br>JoueurB <br>JoueurC (3) <br>JoueurD
Patrice33740
Messages postés8556Date d'inscriptiondimanche 13 juin 2010StatutMembreDernière intervention 2 mars 202321 Modifié le 3 juin 2019 à 22:37
Bonjour,
Exemple de traitement de la ligne :
Option Explicit
Sub test()
'
Dim d As Object
Dim b As String
Dim s As String
Dim t As Variant
Dim i As Integer
Dim k As Variant
b = "|buts 1=JoueurA<br>JoueurB<br>JoueurC<br>JoueurC<br>JoueurA<br>JoueurD<br>JoueurC "
' Partie utile de la chaine
s = Mid(b, InStr(1, b, "=") + 1, Len(b))
' Tableau des joueurs
t = Split(s, "<br>")
' Comptage des joueurs
Set d = CreateObject("Scripting.Dictionary")
For i = LBound(t) To UBound(t)
d(t(i)) = d(t(i)) + 1
Next i
' Reconstitution de la chaine
s = Mid(b, 1, InStr(1, b, "="))
For Each k In d.Keys
s = s & k & "(" & d(k) & ")<br>"
Next k
s = Left(s, Len(s) - 4)
MsgBox b & vbCrLf & s
End Sub
Cordialement
Patrice
hoquei44
Messages postés15376Date d'inscriptiondimanche 19 janvier 2014StatutMembreDernière intervention 6 juin 2023 3 juin 2019 à 22:53
Merci du retour, le résultat répond parfaitement à mes attentes.
Charge à moi de prendre du temps pour bien tout comprendre.
Merci et bonne soirée
Patrice33740
Messages postés8556Date d'inscriptiondimanche 13 juin 2010StatutMembreDernière intervention 2 mars 202321 6 juin 2019 à 10:50
3 juin 2019 à 22:53
Charge à moi de prendre du temps pour bien tout comprendre.
Merci et bonne soirée
6 juin 2019 à 10:50
http://boisgontierjacques.free.fr/pages_site/Dictionnaire.htm