Evolution document VBA
Bonsoir,
J'aurai quelques questions à vous soumettre sur un document créé à l'aide de forumeurs assidus Yvouille et Dan. Le 1er a beaucoup oeuvré sur ce document et malheureusement il s'est fâché sur la fin ... Mais je suis très très satisfait de cet outil qui me sert au quotidien à mon travail.
Bref je vous sollicite pour voir si quelqu'un peut me dépanner sur le sujet car je n'ai aucunes compétences en la matière. C'est un document de suivi statistiques d'équipes sportives en fonction du calendrier, journée par journée.
--> voici le document de départ qui permet de créer pour chaque saison un nouveau classeur avec chacune des équipes
https://drive.google.com/file/d/1aAeI9uNHYzGABEa9zgoCD32W_2GctEUZ/view?usp=sharing
La feuille LAN sert de support à la création des autres feuilles équipes. Je remplis le calendrier et je vais clicker sur le bouton nouvelle saison de la fiche information et le document est créé. Je rentre pour chaque journée A1, A2, A3, etc ... les stats de chaque rencontre et ça me permet d'effectuer toute sorte de classement. Je les renomme en J1, J2 etc ... pour qu'elles soient prise en compte sur chaque feuille équipe une fois la journée jouée.
1) j'ai ajouté une colonne statistique sur la feuille LAN en AH et AT (OPP= qui recense ce que je nomme les opportunités). Je l'ai intégré aussi en colonne F de ma feuille ranking. je voudrai être certain que par rapport au VBA appliqué cela ne posera pas de souci ? Est ce que quelqu'un peut me le confirmer ?
--> voici le document déjà créé de cette saison avec des données remplies de J1 à J5 car 5 journées se sont déjà jouées (rmq : il n'y a pas les OPP car pas effectif au moment de la création)
https://drive.google.com/file/d/1r5g4sRZI1OkMmw7tljqSUlLGHvjPvVEZ/view?usp=sharing
Sauf que sur la J3 et la J4 Chartres n'a pas pu jouer ces matchs et ils sont reportés à une date ultérieure ...
Sur la feuille équipe CHA et BOU en J3 les chiffres sont à 0 ce qui fausse toutes les moyennes ...
En J4 le 1er match noté sur la feuille étant celui de CHA qui a été reporté, cette J4 n'apparaît dans aucune des feuilles équipe ...
2) Est-il possible de faire en sorte que des matchs non joués sur les feuilles J... etc ne soient pas comptabilisés dans les feuilles des équipes respectives ?
3) Cela met le bazar aussi dans ma feuille ranking du coup avec des #DIV/0 et des calculs faussés (le fait de répondre à la question 2 peut déjà aider à rétablir la feuille ranking). Comment faire en sorte que dans la feuille ranking tous les items soient remplis correctement même si le nombre de matchs n'est pas le même pour les équipes pour le moment. Juste en tenant compte des matchs joués et des données associées (ne pas avoir de #DIV/0 partout) ? Est ce réalisable à votre avis ?
Le dernier point est que si vous trouvez une solution j'aimerai qu'elle soit appliquée sur le document de départ directement et non celui déjà créé (qui sert d'exemple ici, car je souhaite en refaire 1 intégrant en les colonnes OPP comme décrit dans le point 1 --> ce qui n'est pas le cas du doc déjà créé).
Bon voilà mes questions et une fois de plus je vous serai hyper reconnaissant pour un éventuel coup de pouce ... j'imagine que ça peut paraître un peu flou et n'hésitez pas à me demander des éclaircissements si besoin.
Cordialement
Olivier
Bonjour,
Toujours sur excel MAC je suppose ?
vous avez deux documents téléchargeables. C'est dans le deuxième ou dans le premier document que vous avez ajouté des colonnes ?
Un nommé V12-Original et l'autre nommé 2026-2027 LFB
1) j'ai ajouté une colonne statistique sur la feuille LAN en AH et AT (OPP= qui recense ce que je nomme les opportunités). Je l'ai intégré aussi en colonne F de ma feuille ranking. je voudrai être certain que par rapport au VBA appliqué cela ne posera pas de souci ? Est ce que quelqu'un peut me le confirmer ?
Si vous avez ajouté deux colonnes, la dernière colonne de votre tableau est la colonne BL.
Dans ce cas, allez dans le code Private Sub Workbook_SheetActivate(ByVal Sh As Object) dans Thisworkbook, et dans cette ligne -->
.Range("C" & j & ":BI" & j).Copyil fautremplacer BI par BL
Sauf que sur la J3 et la J4 Chartres n'a pas pu jouer ces matchs et ils sont reportés à une date ultérieure ...
Sur la feuille équipe CHA et BOU en J3 les chiffres sont à 0 ce qui fausse toutes les moyennes ...
En J4 le 1er match noté sur la feuille étant celui de CHA qui a été reporté, cette J4 n'apparaît dans aucune des feuilles équipe ...
2) Est-il possible de faire en sorte que des matchs non joués sur les feuilles J... etc ne soient pas comptabilisés dans les feuilles des équipes respectives ?
Logique votre problème car le code Private Sub Workbook_SheetActivate(ByVal Sh As Object) dans Thisworkbook n'est pas correct ou tout au moins une ligne
Dans le fichier 2026-2027 LFB, essayez ceci :
Remplacez cette ligne :
If .Range("B" & j) = Equipe_traitee And WorksheetFunction.Sum(.Range("E4:F5")) > 0 Then ' La variable j est la ligne sur laquelle se trouve le nom de l'equipe traitee par celle-ci
If .Range("B" & j) = Equipe_traitee And WorksheetFunction.Sum(.Range("E" & j & ":F" & j + 1)) > 0 Then ' La variable j est la ligne sur laquelle se trouve le nom de l'equipe traiteeCela solutionne le souci je pense
NB: votre feuille Ranking mériterait d'être modifiée. Pourquoi fusionner la colonne B et C ??
Bonsoir Dan,
En effet, toujours sur Mac avec excel car je n'ai rien changé de ma config ... Peut être plus tard si j'ai un peu de sous !
C'est dans le 1er document que j'ai ajouté les colonnes (le V12 original)
1) ok c'est fait j'ai remplacé BI par BL
2) en effet en utilisant ce code le souci est résolu sur les feuilles des équipes
If .Range("B" & j) = Equipe_traitee And WorksheetFunction.Sum(.Range("E" & j & ":F" & j + 1)) > 0 Then ' La variable j est la ligne sur laquelle se trouve le nom de l'equipe traitee
--> Bon ba force est de constater que c'est une nouvelle fois rapide et efficace ! Merci beaucoup car les correctifs apportés fonctionnent parfaitement.
3) oui je crois aussi que la feuille ranking peut être retravaillée. Je vais profiter de ce post pour m'y pencher. Pourquoi avoir fusionné les colonnes B et C ? tout simplement parce qu'à l'origine je n'avais pas trop idée de la direction de ce travail et que comme beaucoup de débutants j'ai fait quelque chose qui n'a pas de sens.
Quels conseils vois tu pour l'organisation de cette feuille ?
PS : pour que le point 2 soit tout de suite opérationnel sur mes futurs documents faut il que je copie ce code sur le document original V12 ?
Merci Dan
Bonjour,
En effet, toujours sur Mac avec excel car je n'ai rien changé de ma config ... Peut être plus tard si j'ai un peu de sous !
Bah il y a de nouveautés pas mal mais il est vrai que tout a augmenté à cause de la mémoire et de l'IA.
2) en effet en utilisant ce code le souci est résolu sur les feuilles des équipes
Cette erreur existe depuis pas mal de temps à moins que vous avez modifié depuis la dernière fois que je me suis occupé du fichier. Je ne me souviens plus trop à vrais dire... En fait il ne fallait pas laisser E4:F5 mais tenir compte de la ligne via la variable j
3) oui je crois aussi que la feuille ranking peut être retravaillée. Je vais profiter de ce post pour m'y pencher. Pourquoi avoir fusionné les colonnes B et C ? tout simplement parce qu'à l'origine je n'avais pas trop idée de la direction de ce travail et que comme beaucoup de débutants j'ai fait quelque chose qui n'a pas de sens.
Quels conseils vois tu pour l'organisation de cette feuille ?
Peut être déjà défusionner les deux colonnes mais vous devrez refaire les liens hypertextes. Mais bon cela ne gêne pas trop.
Modifier les formules dans la zone 2 points
- En D6 --> =INDIRECT(INDIRECT("B" & LIGNE()) & "!H29")
- En E6 --> =INDIRECT(INDIRECT("B" & LIGNE()) & "!I29")
- En F6 --> =INDIRECT(INDIRECT("B" & LIGNE()) & "!J29")
Recopiez D6, E6 et F6 vers le bas jusque la ligne 17
Puis refaire la même chose pour les lignes 23 à 34, 40 à 51 et 57 à 68
Après refaire la même chose sur les colonnes suivantes où vous faites référence à la colonne B
Ce n'est pas obligé mais cela vous permet de garder les bonnes infos si par hasard vous changez la référence en colonne B - "Adresses"
PS : pour que le point 2 soit tout de suite opérationnel sur mes futurs documents faut il que je copie ce code sur le document original V12 ?
Oui mais votre fichier doit comporter les feuilles nommées "j1, j2, .... et avoir les feuilles LAN, VIL.... et Les feuilles sont nommées A1, A2..... et il n'y a pas de feuille nommée J1, J2,
Sinon 2 ou 3 modifications sur le codes Sub Transfert_Base_Calendrier()..