Microsoft 365 Formatage base de données Football

Phytoman

XLDnaute Junior
Bonjour et merci pour toute l'aide déjà apportée jusqu'ici.

Dernière ligne droite, l'import des données de la fédération belge de Foot.
Les fichier Excel importés depuis la fédération de football belge ne sont pas exploitables en l’état.
Cette macro pourrait être dans un seul fichier, dans quel cas je devrais systématiquement faire un copier-coller des données reçues, soit propre à tous les classeurs, ce qui en faciliterait la tâche.
Il me faudrait les adapter comme suit :
  • Remplacer la colonne J (club visité) et K (club visiteur) par la concaténation suivante (ou ajouter deux colonnes) :
  • Nom de fichier= (voir liste plus bas) -->initiales
  • DIV = forcer à 5 caractères - Si <, ajouter des 0 avant (éviter risques de doublons)
  • Matricule = forcer à 5 caractères - Si <, ajouter des 0 avant
  • Liste des initiales des noms de fichier :
    • lieresdownP = lg
    • hairesdownP = ht
    • namresdownP = na
    • brwresdownP = bw
    • luxresdownP = lu
Ce qui donne : lg0003a08422

D’autres noms de fichier pourraient y être ajoutés ultérieurement
en annexe les résultats de la semaine pour la province de Liège.
Merci de votre aide
 

Pièces jointes

  • lieresdownP.xlsm
    861.3 KB · Affichages: 7

sylvanu

XLDnaute Barbatruc
Supporter XLD
Il vaudrait mieux utiliser les abrev de gauche, puisqu'on les retrouvent dans le code :
VB:
Select Case Name
    Case "lieresdownP"
        I = "lg"
    Case "hairesdownP"
        I = "ht"
    Case "namresdownP"
        I = "na"
    Case "brwresdownP"
        I = "bw"
    Case "luxresdownP"
        I = "lu"
    Case "antresdownP"
        I = "an"
    Case "limresdownP"
        I = "lim"
    Case "ovlresdownP"
        I = "ovl"
    Case "wvlresdownP"
        I = "wvl"
    Case "braresdownP"
        I = "bra"
End Select
Ce serait beaucoup plus simple.
Ou mieux mettre directement le sigle en deux trois lettres : lg,ht,na,bw... wvl,bra.
Le code sera plus homogène et plus simplement modifiable.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Quel rapport ?
Remplacer Liège par lg ou Brabant wallon par bra n'impacte rien.
Tout simplement ce sera plus simple pour trouver l' ID.
Dans le code on a :
VB:
Initiale = Initiales(SheetName)
donc on sait que la ligne est lg par ex. Dans la colonne 1 on a la Div.
Avec le tableau il suffit de chercher lg et Div.
Sinon il va falloir faire lg c'est Liège de façon totalement inutile.
Ou vous rajouter une colonne avec l'abrev :
1.jpg
 

Phytoman

XLDnaute Junior
Quel rapport ?
Remplacer Liège par lg ou Brabant wallon par bra n'impacte rien.
Tout simplement ce sera plus simple pour trouver l' ID.
Dans le code on a :
VB:
Initiale = Initiales(SheetName)
donc on sait que la ligne est lg par ex. Dans la colonne 1 on a la Div.
Avec le tableau il suffit de chercher lg et Div.
Sinon il va falloir faire lg c'est Liège de façon totalement inutile.
Ou vous rajouter une colonne avec l'abrev :
Regarde la pièce jointe 1054104
Et donc, comment j'intègre cela dans le script ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Phytoman,
Il vous suffit d'intégrer cette table de 4 colonnes dans le fichier ( dans les colonnes RSTU)
On modifiera la macro pour insérer l' ID en colonne L comme vous le voulez et on poussera les autres données dans les colonnes MNOP. En faisant un truc comme ça :
VB:
For Ligne = 2 To Taille
    Visité = Sheets(SheetName).Range("A:K").Cells(Ligne, 4)
    Visiteur = Sheets(SheetName).Range("A:K").Cells(Ligne, 5)
    Division = Right("00000" & Sheets(SheetName).Range("A:A").Cells(Ligne, 1), 5)
    Division2 = Right("" & Sheets(SheetName).Range("A:A").Cells(Ligne, 1), 5)
    Matricule = Right("00000" & Sheets(SheetName).Range("A:L").Cells(Ligne, 10), 5)
    Matricule2 = Right("00000" & Sheets(SheetName).Range("A:L").Cells(Ligne, 11), 5)
    Sheets("result").Range("A:A").Cells(Ligne, 1) = Visité
    Sheets("result").Range("B:B").Cells(Ligne, 1) = Initiale & Division & Matricule
    
    'CALCUL DE L' ID
    ID = Fonction à dévellopper
    
    Sheets(SheetName).Range("L" & Ligne) = ID
    Sheets(SheetName).Range("M" & Ligne) = Initiale & Division & Matricule
    Sheets(SheetName).Range("N" & Ligne) = Initiale & Division & Matricule2
    Sheets(SheetName).Range("O" & Ligne) = Visité & " " & "Equipe" & " " & Division2
    Sheets(SheetName).Range("P" & Ligne) = Visiteur & " " & "Equipe" & " " & Division2
Next Ligne
 

Phytoman

XLDnaute Junior
Bonjour Phytoman,
Il vous suffit d'intégrer cette table de 4 colonnes dans le fichier ( dans les colonnes RSTU)
On modifiera la macro pour insérer l' ID en colonne L comme vous le voulez et on poussera les autres données dans les colonnes MNOP. En faisant un truc comme ça :
VB:
For Ligne = 2 To Taille
    Visité = Sheets(SheetName).Range("A:K").Cells(Ligne, 4)
    Visiteur = Sheets(SheetName).Range("A:K").Cells(Ligne, 5)
    Division = Right("00000" & Sheets(SheetName).Range("A:A").Cells(Ligne, 1), 5)
    Division2 = Right("" & Sheets(SheetName).Range("A:A").Cells(Ligne, 1), 5)
    Matricule = Right("00000" & Sheets(SheetName).Range("A:L").Cells(Ligne, 10), 5)
    Matricule2 = Right("00000" & Sheets(SheetName).Range("A:L").Cells(Ligne, 11), 5)
    Sheets("result").Range("A:A").Cells(Ligne, 1) = Visité
    Sheets("result").Range("B:B").Cells(Ligne, 1) = Initiale & Division & Matricule
   
    'CALCUL DE L' ID
    ID = Fonction à dévellopper
   
    Sheets(SheetName).Range("L" & Ligne) = ID
    Sheets(SheetName).Range("M" & Ligne) = Initiale & Division & Matricule
    Sheets(SheetName).Range("N" & Ligne) = Initiale & Division & Matricule2
    Sheets(SheetName).Range("O" & Ligne) = Visité & " " & "Equipe" & " " & Division2
    Sheets(SheetName).Range("P" & Ligne) = Visiteur & " " & "Equipe" & " " & Division2
Next Ligne
OK pour moi.
Je vois "Fonction à développer " ?
C'est à ajouter dans le script
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
En PJ la mise à jour.
J'utilise Initiale pour le club et la donnée de la colonne A pour la Division.
A noter que le tableau qui donne les ID doit être impérativement en colonnes RSTU.
Si pas d' ID trouvé, je laisse vide ( ID="")
A vérifier.
 

Pièces jointes

  • generateur-matchs-ID-admin (V3).xlsb
    84.3 KB · Affichages: 7

Discussions similaires

Réponses
0
Affichages
914

Statistiques des forums

Discussions
312 330
Messages
2 087 341
Membres
103 524
dernier inscrit
Smile1813