XL 2019 texte vide et bordure bouton masquer vba

  • Initiateur de la discussion Initiateur de la discussion frederio
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

frederio

XLDnaute Impliqué
Bonjour à tous
Tu vous connais comment faire ?
Si tu veux être d’accord avec moi ??? vous m’aidez a expliqué comme Excel Merci

ex : la feuille " JUPILER PRO LEAGUE " et " EQUIPES " supprimer A et B = vide

comment faire caché bordure bouton masquer


1 la feuille " SASION " bouton supprimer une ligne

2 la feuille " JUPILER PRO LEAGUE " bouton Effacer

3 voir sur https://www.mondefootball.fr/toutes_les_jeux/bel-pro-league-2025-2026/

4 Faire copie Domicile équipes et extérieur équipes

5 La feuille " SAISON " coller Domicile équipes sur K3 et extérieur équipes sur N3

6 voir sur https://www.mondefootball.fr/calendrier/bel-pro-league-2025-2026-spieltag/2/

7 faire copie " EQUIPES "

8 la feuille " EQUIPES " coller sur F6

9 la feuille " JUPILER PRO LEAGUE " et " EQUIPES " supprimer A et B = vide

10 la feuille " JUPILER PRO LEAGUE " bouton Masquer

Pour afficher ce contenu, nous aurons besoin de votre consentement pour définir des cookies tiers.
Pour plus d'informations, consultez notre page sur les cookies.
 

Pièces jointes

Dernière édition:
Bonsoir à toutes & à tous, bonsoir @frederio

Je ne trouve pas de solution pour extraire automatiquement le calendrier des championnats avec le résultat des matchs déjà joués.
Donc je te propose une solution mais avec une régression.
Comme avant tu devras aller sur la page calendrier du championnat qui t'intéresse (site https://www.mondefootball.fr), faire un CTRL A pour sélectionner toute la page en une seule fois, puis un contrôle V pour tout copier dans la feuille cible.
Exemple avec la ligue 1 du championnat de france :
1763670478076.png

après la sélection :
1763670518778.png


Maintenant aller sur la feuille "Texte Brut Page HTML" du classeur joint
Vider la feuille à l'aide du bouton "Effacer Texte Brut"
Lancer la macro d'extraction avec le bouton "Extraire Classement et Calendrier"
1763674093699.png

La macro met à jour les deux tableaux structurés de la feuille "Informations Extraites" du classeur joint (ts_Classement et ts_Calendrier)

Le code des macros :
VB:
Option Explicit
Sub ViderTexteBrut()
     'Vider la feuille à l'exeption de la 1ère ligne occupée
     With Sh_PageComplèteBrute
          If .UsedRange.Rows.Count > 1 Then .UsedRange.Resize(.UsedRange.Rows.Count - 1).Offset(1).Clear
          Application.Goto .Range("A2")
     End With
End Sub

Sub Extraction_Classement_Calendrier()

Dim TexteBrut, Saison As String, i As Long, Idx As Long, Lgn1 As Long, LgnFin As Long
Dim NbEq As Byte, NbMatchs As Integer, NbJournées As Byte
Dim Tb_Clasmt(), Tb_Calendrier(), lgn As Integer
Dim DC As Object, Journée As Byte, DateJ As Double

'L'ensemble des données dans la variable tableau "TexteBrut"
     With Sh_PageComplèteBrute
          If .UsedRange.Rows.Count < 2 Then Exit Sub
          TexteBrut = .Cells(1).Resize(.Cells(.Rows.Count, 1).End(xlUp).Row, 7).Value
     End With

'Détecter la saison :
     Saison = ""
     i = 1
     While Not TexteBrut(i, 1) Like "##.##.####" And i < UBound(TexteBrut, 1)
          i = i + 1
     Wend
     Saison = Right(TexteBrut(i, 1), 4) & "-" & CInt(Right(TexteBrut(i, 1), 4)) + 1

'Extraire le classement
     With WorksheetFunction
          Idx = .Match("Classement", .Index(TexteBrut, 0, 1), 0)
     End With
     'début et fin du classement
     Lgn1 = 0
     For i = Idx To UBound(TexteBrut)
          If TexteBrut(i, 1) = 1 Then Lgn1 = i
          If IsNumeric(TexteBrut(i, 1)) And Lgn1 > 0 Then LgnFin = i
          If Not IsNumeric(TexteBrut(i, 1)) And Lgn1 > 0 Then Exit For
     Next
     'constantes du championnat
     NbEq = LgnFin - Lgn1 + 1                                                        'Nbre d'équipes dans le championnat
     NbMatchs = NbEq * (NbEq - 1)                                                    'Nbre de Matchs dans le championnat
     NbJournées = (NbEq - 1) * 2                                                     'Nbre de journées du championnat
    
     'chargement du tableau de classement
     ReDim Tb_Clsmt(1 To NbEq, 1 To 8)
     lgn = 0
     For i = Lgn1 To LgnFin
     lgn = lgn + 1
          Tb_Clsmt(lgn, 1) = Saison                                                  'Saison extraite
          Tb_Clsmt(lgn, 2) = CByte(TexteBrut(i, 1))                                  'Rang
          Tb_Clsmt(lgn, 3) = TexteBrut(i, 2)                                         'Equipe
          Tb_Clsmt(lgn, 4) = CByte(TexteBrut(i, 4))                                  'Matchs joués
          Tb_Clsmt(lgn, 5) = CInt(TexteBrut(i, 5)) * 24 + Hour(TexteBrut(i, 5))      'Buts Pour
          Tb_Clsmt(lgn, 6) = Minute(TexteBrut(i, 5))                                 'Buts Contre
          Tb_Clsmt(lgn, 7) = CInt(TexteBrut(i, 6))                                   'Différence de buts
          Tb_Clsmt(lgn, 8) = CInt(TexteBrut(i, 7))                                   'Points
     Next
    
     'RàZ du TS et copie des données extraite
     With sh_Extraction.[ts_Classement]
          .Offset(1).Clear
          .ListObject.Resize .ListObject.Range.Resize(2)                             'ces deux lignes pour préserver
          .ListObject.Resize .ListObject.Range.Resize(UBound(Tb_Clsmt, 1) + 1)       'le format de la 1ère ligne
     End With
     sh_Extraction.[ts_Classement].Value = Tb_Clsmt
    
'Extraire le calendrier (avec le résultat des matchs déjà joués)
     'recherche du début
     With WorksheetFunction
          Idx = .Match("Journée 1", .Index(TexteBrut, 0, 1), 0)
     End With
    
     'Dictionnaire Equipe-Nbre de matchs joués
     Set DC = CreateObject("Scripting.dictionary")                                   'Dictionnaire du nombre de matchs joués
     For i = 1 To NbEq
          DC(Tb_Clsmt(i, 3)) = Tb_Clsmt(i, 4)
     Next
    
     'dimensions du tableau
     ReDim Tb_Calendrier(1 To NbMatchs, 1 To 8)
    
     'Extraction des données
     lgn = 0
     For i = Idx To UBound(TexteBrut, 1)
          Select Case True
               Case TexteBrut(i, 1) Like "Journée *"                                 'La ligne lue indique une journée
                    Journée = CInt(Replace(TexteBrut(i, 1), "Journée ", ""))
               Case TexteBrut(i, 1) Like "##.##.####"                                'La ligne lue indique la date
                    DateJ = DateValue(Replace(TexteBrut(i, 1), ".", "/"))
               Case DC.Exists(TexteBrut(i, 1))                                       'La ligne lue est l'équipe à domicile
                    lgn = lgn + 1                                                    'Charger le tableau avec les données du bloc de 5 lignes
                    Tb_Calendrier(lgn, 1) = Saison
                    Tb_Calendrier(lgn, 2) = Journée
                    Tb_Calendrier(lgn, 3) = TexteBrut(i, 1)
                    Tb_Calendrier(lgn, 6) = TexteBrut(i + 4, 1)
                    Tb_Calendrier(lgn, 7) = DateJ
                    If Journée <= DC(TexteBrut(i, 1)) Then
                         'Score (à cause du séparateur : il est lu comme une date
                         Tb_Calendrier(lgn, 4) = CInt(TexteBrut(i + 2, 1)) * 24 + Hour(TexteBrut(i + 2, 1))
                         Tb_Calendrier(lgn, 5) = Minute(TexteBrut(i + 2, 1))
                    Else
                         'Heure ou -:-
                         Tb_Calendrier(lgn, 8) = TexteBrut(i + 2, 1)
                    End If
                    i = i + 4 'Pour passer au bloc suivant
               Case Else
                    Exit For
          End Select
     Next
    
     'RàZ du TS et copie des données extraite
     With sh_Extraction.[Ts_Calendrier]
          .Offset(1).Clear
          .ListObject.Resize .ListObject.Range.Resize(2)                             'ces deux lignes pour préserver
          .ListObject.Resize .ListObject.Range.Resize(UBound(Tb_Calendrier, 1) + 1)       'le format de la 1ère ligne
     End With
     sh_Extraction.[Ts_Calendrier].Value = Tb_Calendrier
    
     Application.Goto sh_Extraction.[A1]
End Sub

À bientôt
Goedenavond allemaal, goedenavond @frederio
Ik kan geen manier vinden om het competitieschema automatisch te extraheren uit de uitslagen van reeds gespeelde wedstrijden.
Dus stel ik een oplossing voor, maar het is een stap achteruit.
Net als voorheen moet je naar de pagina met het competitieschema gaan waarin je geïnteresseerd bent (website: https://www.mondefootball.fr), op Ctrl+A drukken om de hele pagina te selecteren en vervolgens op Ctrl+V om alles naar het doelblad te kopiëren.
Voorbeeld met Ligue 1, de Franse competitie:
1763670478076.png
na selectie:
1763670518778.png
Ga nu naar het tabblad 'Platte tekst HTML-pagina' in de bijgevoegde werkmap.
Maak het werkblad leeg met de knop 'Platte tekst wissen'.
Voer de extractiemacro uit met de knop 'Rangschikking en kalender extraheren'.
1763674093699.png
De macro werkt de twee gestructureerde tabellen bij in het tabblad 'Geëxtraheerde informatie' van de bijgevoegde werkmap (ts_Classement et ts_Calendrier).
De macrocode:
VB:
 ...
Tot snel
 

Pièces jointes

Bonsoir à toutes & à tous, bonsoir @frederio
Pour te faciliter la tâche je te fournis une nouvelle version.
Suis le mode d'emploi ci-dessous et dis-moi ce que tu en penses.
1763744076530.png

La macro
  • fait une vérification sommaire du contenu du presse-papier
  • fait un collage spécial "Texte Unicode"
  • extrait le classement et le calendrier
  • efface la plage zone réserver au collage du presse-papier
  • dirige vers les tableaux structurés résultant de la procédure.
Voir le fichier joint
À bientôt
Goedenavond allemaal, goedenavond @frederio

Om het je wat makkelijker te maken, hier is een nieuwe versie.
Volg de onderstaande instructies en laat me weten wat je ervan vindt.

1763744076530.png
De macro
  • voert een basiscontrole uit van de inhoud van het klembord
  • voert een speciale plakbewerking van "Unicode-tekst" uit
  • haalt de rangschikkings- en kalendergegevens
  • maakt het klembordgebied leeg dat gereserveerd is voor plakken
  • stuurt naar de gestructureerde tabellen die uit de procedure voortvloeien.


Zie het bijgevoegde bestand.

Tot ziens.
 

Pièces jointes

Dernière édition:
Bonjour à toutes & à tous, bonjour @frederio
OK je regarde cela cet après-midi, j'ai avancé pour me rapprocher de ce que tu faisais avec le championnat de Belgique.
À bientôt
Hallo allemaal, hallo @frederio
Oké, ik zal daar vanmiddag naar kijken. Ik heb vooruitgang geboekt en kom dichter bij wat jij deed met het Belgisch kampioenschap.

Tot snel!
 
Re,
@frederio , je n'ai pas regardé les deux fichiers que tu m'as transmis car j'avais avancé de mon coté.

Consulte le fichier joint mais ne fais pas de modification :
Il n'y a plus de formules, tout se passe par macro lors de l'importation du calendrier du site "mondefootball" pour le pays choisi.
Lance la macro une fois, regarde le résultat, change de pays et relance la macro dis moi si cela te convient.

Je réfléchis pour le résumé des 5 dernières journées jouées, mais je vais pratiquer de la même façon : sans formule.

À bientôt

Hallo,

@frederio, ik heb de twee bestanden die je me hebt gestuurd nog niet bekeken, omdat ik al vooruitgang heb geboekt.

Bekijk het bijgevoegde bestand, maar breng geen wijzigingen aan:
Er zijn geen formules meer; alles wordt afgehandeld door een macro bij het importeren van de kalender van de website "mondefootball" voor het geselecteerde land.
Voer de macro één keer uit, controleer het resultaat, wijzig het land en voer de macro opnieuw uit. Laat me weten of dat voor je werkt.

Ik ben bezig met het overzicht van de laatste 5 speeldagen, maar ik doe het op dezelfde manier: zonder formules.

Tot snel.
 

Pièces jointes

Re,
@frederio ,
j'ai réalisé le résumé des résultats des 5 dernières journées,
j'ai ajouté à la feuille tables la liste des équipes du championnat choisi et la liste des journées avec la date de la 1ère rencontre (la journée peut s'étendre sur plusieurs dates) et en précisant s'il s'agit des matchs aller ou retour.
Pour le calendrier avec ta mise en forme, je n'y suis pas encore, mais tu peux peut-être essayer d'avancer de ton coté en te basant sur le classeur "Calendrier" que je t'avais fait.
À bientôt
Hallo,
@frederio,
Ik heb de macro aangepast om de samenvatting van de resultaten van de laatste 5 speeldagen te schrijven.
Ik heb op het tabblad tables de lijst toegevoegd van de ploegen uit de gekozen competitie en de lijst van de speeldagen met de datum van de eerste wedstrijd (een speeldag kan over meerdere data lopen), en vermeld of het om de heen- of terugwedstrijden gaat.
Wat betreft de kalender met jouw opmaak ben ik daar nog niet aan toe, maar je kunt misschien al wat vooruit werken aan jouw kant op basis van het werkboek “Calendrier” dat ik voor je had gemaakt.
Tot binnenkort.
 

Pièces jointes

Dernière édition:
salut @TooFatBoy
Dans ton classeur le pays 8 en europe AtTheOne A .xlsm le Nom "Chx_Pays" est inutile puisqu'il fait référence à TS_Pays[Pays] qui est déjà une plage nommée.
En fait, c'est un choix pour ne pas utiliser INDIRECT("TS_Pays[Pays]") dans les listes de validation ou les formats conditionnels mais "Chx_pays".
L'avantage que j'y vois c'est que l'on peut modifier le nom de la colonne, du TS et mais le nom "Chx_Pays" sans avoir à revenir dans la liste de validation ou le format conditionnel.
Je sais, ça se discute, mais c'est une habitude prise depuis longtemps et, à mon âge' difficile de s'en débarrasser !
À bientôt
 
Je sais, ça se discute, mais c'est une habitude prise depuis longtemps et, à mon âge' difficile de s'en débarrasser !
Si je comprends bien, c'était volontaire et c'est toi qui avait développé cette partie du classeur.
C'est vrai que j'aurais dû me douter que ce n'était pas frederio qui l'avait développée.

Chacun sa façon de procéder. Et du moment que ça fonctionne, on peut dire que c'est une solution valable. 😉
 
Bonjour à toutes & à tous, bonjour @frederio

J'ai modifié le classeur "Calendrier" pour tenir compte de la nouvelle version du classeur de suivi des championnats (renommé ici "Suivi des championnats 8 pays européens.xlsm")
Ce calendrier s'adapte donc au pays choisi dans le classeur de suivi.

Je regarderai s'il n'est pas plus judicieux d'inclure ce calendrier dans le classeur de suivi sans alourdir trop ce dernier.

Voir les fichiers joints
À bientôt

Hallo allemaal, hallo @frederio,
Ik heb het werkboek "Kalender" aangepast om rekening te houden met de nieuwe versie van het werkboek voor de opvolging van de kampioenschappen (hier hernoemd tot "Opvolging van de kampioenschappen – 8 Europese landen.xlsm").


Deze kalender past zich dus aan het gekozen land in het opvolgingswerkboek aan.

Ik zal bekijken of het misschien zinvoller is om deze kalender op te nemen in het opvolgingswerkboek zonder dit te veel te verzwaren.

Zie de bijgevoegde bestanden.

Tot binnenkort.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
56
Affichages
2 K
Réponses
3
Affichages
712
Réponses
8
Affichages
779
Réponses
3
Affichages
637
Réponses
5
Affichages
733
Réponses
15
Affichages
2 K
Réponses
1
Affichages
906
Compte Supprimé 979
C
Réponses
3
Affichages
932
  • Question Question
XL 2019 image logo
Réponses
0
Affichages
805
Réponses
2
Affichages
714
Retour