[Résolu][Calc] Classement binomes par paire
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- NOOuvel adepte
- Messages : 13
- Inscription : 07 déc. 2016 10:51
[Résolu][Calc] Classement binomes par paire
bonjour à tous,
je suis nouveau sur ce forum, si je suis là c'est parceque j'aurai besoin d'un petit coup de main.
j'ai un tableur sur lequel je voudrais incorporer une image ( ca c'est bon jusque la j'y arrive ) mas je voudais assigner une macro a cette meme image.
ce que je recherche exactement:
-dans un premier temps rassembler les binomes par paire dans la collone binome
-puis ensuite faire un trie dans l'orde croissant des points par team et descroissant du poid total afin que le premier soit celui qui a le moins de poid et le plus de poid.
jespère que je mexplique clairement pour que vous puissiez comprendre.
je joint mon fichier cette macro doit etre sur la dernière page " classement général"
merci d'avance
je suis nouveau sur ce forum, si je suis là c'est parceque j'aurai besoin d'un petit coup de main.
j'ai un tableur sur lequel je voudrais incorporer une image ( ca c'est bon jusque la j'y arrive ) mas je voudais assigner une macro a cette meme image.
ce que je recherche exactement:
-dans un premier temps rassembler les binomes par paire dans la collone binome
-puis ensuite faire un trie dans l'orde croissant des points par team et descroissant du poid total afin que le premier soit celui qui a le moins de poid et le plus de poid.
jespère que je mexplique clairement pour que vous puissiez comprendre.
je joint mon fichier cette macro doit etre sur la dernière page " classement général"
merci d'avance
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 13 mars 2017 07:33, modifié 1 fois.
Raison : Balisage et verrouillage
Raison : Balisage et verrouillage
openOffice 4.1.3 sous windows 10
-
- RespOOnsable forum
- Messages : 12228
- Inscription : 08 nov. 2005 16:23
- Localisation : Caen, France
Re: probleme de classement auto
Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.
Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche. Avez-vous remarqué comment étaient les autres questions postées ?
Lisez ce fil pour savoir quelle balise utiliser : http://forum.openoffice.org/fr/forum/su ... html#27295
Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.
"problème" est inutile puisque toutes les questions sur ce forum sont forcément des problèmes.
Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même sous peine de voir votre sujet verrouillé.
Merci de votre collaboration.
Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche. Avez-vous remarqué comment étaient les autres questions postées ?
Lisez ce fil pour savoir quelle balise utiliser : http://forum.openoffice.org/fr/forum/su ... html#27295
Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.
"problème" est inutile puisque toutes les questions sur ce forum sont forcément des problèmes.
Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même sous peine de voir votre sujet verrouillé.
Merci de votre collaboration.
-
- SuppOOrter
- Messages : 1398
- Inscription : 18 janv. 2008 09:02
- Localisation : Val de Marne
Re: [Calc] Classement binomes par paire
Bonjour,
Avec toute cette mise en page et toutes ces cellules fusionnées, difficile de faire un travail simple par macro.
Il faudrait aussi un descriptif pas-à-pas de l'épreuve pour comprendre de quoi il s'agit.
Cordialement.
Avec toute cette mise en page et toutes ces cellules fusionnées, difficile de faire un travail simple par macro.
Il faudrait aussi un descriptif pas-à-pas de l'épreuve pour comprendre de quoi il s'agit.
Cordialement.
Jean-Michel
LibO 7.5.9 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 7.6 sur OpenSuse & Linux MX
LibO 7.5.9 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 7.6 sur OpenSuse & Linux MX
-
- NOOuvel adepte
- Messages : 13
- Inscription : 07 déc. 2016 10:51
Re: [Calc] Classement binomes par paire
bonjour jeanmi2403 que veux tu comme informations supplémentaire exactement?
openOffice 4.1.3 sous windows 10
-
- SuppOOrter
- Messages : 1398
- Inscription : 18 janv. 2008 09:02
- Localisation : Val de Marne
Re: [Calc] Classement binomes par paire
Bonjour,
Je me suis penché plus sérieusement sur le truc, et je pense avoir compris qu'il s'agit d'un concours de pêche
Je n'avais pas compris
"1 Machin Albert / Truc André"
Comme ils sont par paire bien identifiés, ce serait plus pratique s'il étaient sur la même ligne pour les additions, et ensuite pour faire un tri, car comme tes totaux sont dans cellules fusionnées, ça ne fonctionne pas si les cellules fusionnées sont formatées.
On a toujours tendance à faire une présentation mais il est plus simple d'avoir des feuilles brutes, quitte à recopier les données utiles dans une autre feuille mieux présentés pour les résultats finaux.
Tu devrais anonymiser ton fichier, je ne suis pas sûr que tous tes concurrents seraient ravis d'avoir leur nom sur internet....
Bonne soirée
Je me suis penché plus sérieusement sur le truc, et je pense avoir compris qu'il s'agit d'un concours de pêche
Je n'avais pas compris
Comme ils sont numérotés ça serait facile, mais pour éviter des extractions fastidieuses, ce serait mieux si le numéro était dans une autre cellule, quitte à concaténer das une autre pour avoir-dans un premier temps rassembler les binômes par paire dans la colonne binôme
"1 Machin Albert / Truc André"
Comme ils sont par paire bien identifiés, ce serait plus pratique s'il étaient sur la même ligne pour les additions, et ensuite pour faire un tri, car comme tes totaux sont dans cellules fusionnées, ça ne fonctionne pas si les cellules fusionnées sont formatées.
On a toujours tendance à faire une présentation mais il est plus simple d'avoir des feuilles brutes, quitte à recopier les données utiles dans une autre feuille mieux présentés pour les résultats finaux.
Tu devrais anonymiser ton fichier, je ne suis pas sûr que tous tes concurrents seraient ravis d'avoir leur nom sur internet....
Bonne soirée
Jean-Michel
LibO 7.5.9 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 7.6 sur OpenSuse & Linux MX
LibO 7.5.9 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 7.6 sur OpenSuse & Linux MX
-
- NOOuvel adepte
- Messages : 13
- Inscription : 07 déc. 2016 10:51
Re: [Calc] Classement binomes par paire
jeanmi2403 a écrit :Bonjour,
Je me suis penché plus sérieusement sur le truc, et je pense avoir compris qu'il s'agit d'un concours de pêche
Je n'avais pas comprisComme ils sont numérotés ça serait facile, mais pour éviter des extractions fastidieuses, ce serait mieux si le numéro était dans une autre cellule, quitte à concaténer das une autre pour avoir-dans un premier temps rassembler les binômes par paire dans la colonne binôme
"1 Machin Albert / Truc André"
Comme ils sont par paire bien identifiés, ce serait plus pratique s'il étaient sur la même ligne pour les additions, et ensuite pour faire un tri, car comme tes totaux sont dans cellules fusionnées, ça ne fonctionne pas si les cellules fusionnées sont formatées.
On a toujours tendance à faire une présentation mais il est plus simple d'avoir des feuilles brutes, quitte à recopier les données utiles dans une autre feuille mieux présentés pour les résultats finaux.
Tu devrais anonymiser ton fichier, je ne suis pas sûr que tous tes concurrents seraient ravis d'avoir leur nom sur internet....
Bonne soirée
je vois bien ce que tu veux dire pour ce qui est des lignes mais c'est beaucoup plus dure a gérer je trouve car la si tu as regardé sur la dernière page je prend toutes les infos sur les pages précédentes.
est ce que tu pense que si jamais on fais 2 macros ou 3 par exemple ce serait possible?
merci pour l'info des noms c'est une chose que j'ai pas pensé vu que les noms son sur un autre document
openOffice 4.1.3 sous windows 10
-
- Membre lOOyal
- Messages : 37
- Inscription : 19 oct. 2012 09:24
- Localisation : Toulouse
Re: [Calc] Classement binomes par paire
Bonjour Anto80,
Avant de se lancer dans l'écriture de macro, est-il possible de modifier le tableau de présentation du classement général comme suit (si le classement par binôme n'est pas important):
De cette façon de présenter, plus de cellule fusionnée et le tri est possible.
Cordialement,
Christophe
Avant de se lancer dans l'écriture de macro, est-il possible de modifier le tableau de présentation du classement général comme suit (si le classement par binôme n'est pas important):
Ajout : D'ailleurs, avec un petit si on peut classer les binômes dans chaque équipe |
Cordialement,
Christophe
Ajout : Fichier anonymisé sauf le nom des équipes |
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par CBresso le 07 déc. 2016 18:33, modifié 1 fois.
LibreOffice 1:5.1.4-0ubuntu1
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
-
- NOOuvel adepte
- Messages : 13
- Inscription : 07 déc. 2016 10:51
Re: [Calc] Classement binomes par paire
bonjour christophe, merci de ta réponse, c'est vrais que ta solution me semble pas mal j'y avais bien pensé ( enfin quelque chose du genre lol ) mais le problème que j'ai rencontré sur cette idée c'est comment aller rechercher mes deux binomes 1 ( qui ne seront pas sur la même page )CBresso a écrit :Bonjour Anto80,
Avant de se lancer dans l'écriture de macro, est-il possible de modifier le tableau de présentation du classement général comme suit (si le classement par binôme n'est pas important):
De cette façon de présenter, plus de cellule fusionnée et le tri est possible.
Cordialement,
Christophe
après on peux toujours faire un classement par binome sur une autre page si besoin
openOffice 4.1.3 sous windows 10
-
- Membre lOOyal
- Messages : 37
- Inscription : 19 oct. 2012 09:24
- Localisation : Toulouse
Re: [Calc] Classement binomes par paire
C'est l'idée.
Lors du tirage au sort tu affectes un binôme à un secteur ?
Lors du tirage au sort tu affectes un binôme à un secteur ?
LibreOffice 1:5.1.4-0ubuntu1
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
-
- NOOuvel adepte
- Messages : 13
- Inscription : 07 déc. 2016 10:51
Re: [Calc] Classement binomes par paire
voila en faite il y a 2 tirages le premier pour le secteur et le second pour le poste sur le secteur tiré auparavantCBresso a écrit :C'est l'idée.
Lors du tirage au sort tu affectes un binôme à un secteur ?
openOffice 4.1.3 sous windows 10
-
- Membre lOOyal
- Messages : 37
- Inscription : 19 oct. 2012 09:24
- Localisation : Toulouse
Re: [Calc] Classement binomes par paire
Ok, mais si je comprend bien, une équipe n'est pas nécessairement sur le même secteur ?
LibreOffice 1:5.1.4-0ubuntu1
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
-
- NOOuvel adepte
- Messages : 13
- Inscription : 07 déc. 2016 10:51
Re: [Calc] Classement binomes par paire
non du tout il peut y avoir le premier binome sur le secteur 1 et le second binome sur le secteur 6CBresso a écrit :Ok, mais si je comprend bien, une équipe n'est pas nécessairement sur le même secteur ?
openOffice 4.1.3 sous windows 10
-
- Membre lOOyal
- Messages : 37
- Inscription : 19 oct. 2012 09:24
- Localisation : Toulouse
Re: [Calc] Classement binomes par paire
Deux autres questions
- Que représente la colonne ordre de passage sur la feuille tirage au sort ?
- Le tirage au sort peut-il être fait par l'ordinateur (une macro par exemple) ?
LibreOffice 1:5.1.4-0ubuntu1
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
-
- NOOuvel adepte
- Messages : 13
- Inscription : 07 déc. 2016 10:51
Re: [Calc] Classement binomes par paire
la colonne ordre de passage c'est plus pour info pour l'organisationCBresso a écrit :Deux autres questions
- Que représente la colonne ordre de passage sur la feuille tirage au sort ?
- Le tirage au sort peut-il être fait par l'ordinateur (une macro par exemple) ?
le tirage au sort ne peux pas ce faire par ordinateur, les binome doivent tirer une boule devant tout le monde pour assurer aucune tricheries
openOffice 4.1.3 sous windows 10
-
- NOOuvel adepte
- Messages : 13
- Inscription : 07 déc. 2016 10:51
Re: [Calc] Classement binomes par paire
voila chrisophe j'ai suivi ton idée mais j'aurais besoin d'aide quand meme afin de facilité le classement, j'aurais a faire sur la page " classement individuel" une macro pour faire un ordre croissant des binomes et une autre macro sur la meme page pour faire un ordre croissant sur les points mais aussi descroissant sur les poids.anto80 a écrit :bonjour christophe, merci de ta réponse, c'est vrais que ta solution me semble pas mal j'y avais bien pensé ( enfin quelque chose du genre lol ) mais le problème que j'ai rencontré sur cette idée c'est comment aller rechercher mes deux binomes 1 ( qui ne seront pas sur la même page )CBresso a écrit :Bonjour Anto80,
Avant de se lancer dans l'écriture de macro, est-il possible de modifier le tableau de présentation du classement général comme suit (si le classement par binôme n'est pas important):
De cette façon de présenter, plus de cellule fusionnée et le tri est possible.
Cordialement,
Christophe
après on peux toujours faire un classement par binome sur une autre page si besoin
et sur la page classement équipe il faudrait que j'arrive a faire une macro pour classé en ordre croissant les points et descroissant les poids.
est ce que tu peux me dire comment écrire cette macro? je te met le doc modifié
merci d'avance
La modération vous a écrit: Pour répondre à un message, utilisez le bouton RÉPONDRE et non le bouton CITER ce qui évite de citer l'ensemble du message précédent rendant la lecture très difficile.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
openOffice 4.1.3 sous windows 10
-
- Membre lOOyal
- Messages : 37
- Inscription : 19 oct. 2012 09:24
- Localisation : Toulouse
Re: [Calc] Classement binomes par paire
Voilà une première macro qui écrit chaque binôme dans les feuilles du secteurs où il aura l'immense plaisir de ramener de beaux poissons.
Elle est affectée à un bouton sur la feuille "tirage au sort". Elle s'utilise donc après les tirages au sort. Il faut corriger deux noms de feuille ("liste des équipes" et "secteur 12") en supprimant les espaces inutiles à la fin.
J'utilise cette macro car je ne vois pas comment tu peux faire fonctionner les fonctions que tu utilises pour remplir les feuilles secteur. @anto80 Anonymise tes fichiers!!!
La suite : les classements
J'aimerai comprendre. moins tu as de points, meilleur est ton classement ET en cas d'égalité plus tu as de poids meilleur est ton classement, c'est ça ? Je n'y connais rien en concours de pêche.
Code : Tout sélectionner
Sub affecte_binome_secteur
dim oDoc as object
dim fSecteur as object, fTirage as object
dim secteur%, nbBinomes%, i%, j%, poste%, nbSecteurs%, nbPostes%
dim binome$
oDoc = ThisComponent
fTirage = oDoc.Sheets.GetByName("tirage au sort")
nbBinomes= oDoc.Sheets.GetByName("liste des équipes").getCellByPosition(6,4).value
nbSecteurs= oDoc.Sheets.GetByName("liste des équipes").getCellByPosition(6,5).value
dim tabSecteurs(nbSecteurs,40) '40 postes max
' Ici on classe dans un tableau les binômes par secteur et par poste
for i = 0 to nbBinomes -1
binome = fTirage.getCellByPosition(1,9+i).string
secteur = fTirage.getCellByPosition(3,9+i).value
poste = fTirage.getCellByPosition(4,9+i).value
tabSecteurs(secteur,poste) = binome
print tabSecteurs(secteur,poste)
next i
' maintenant on les écrit sur chaque feuille de secteur
for i = 1 to nbSecteurs
fSecteur = oDoc.Sheets.getByName("secteur " & i)
nbPostes = fSecteur.getCellByPosition(15,1).value
'on boucle tous les postes
for j = 1 to nbPostes
fSecteur.getCellByPosition(4,j+9).string=tabSecteurs(i,j)
fSecteur.getCellByPosition(5,j+9).value = j
next j
next i
End Sub
J'utilise cette macro car je ne vois pas comment tu peux faire fonctionner les fonctions que tu utilises pour remplir les feuilles secteur. @anto80 Anonymise tes fichiers!!!
La suite : les classements
J'aimerai comprendre. moins tu as de points, meilleur est ton classement ET en cas d'égalité plus tu as de poids meilleur est ton classement, c'est ça ? Je n'y connais rien en concours de pêche.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 1:5.1.4-0ubuntu1
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
-
- SuppOOrter
- Messages : 1398
- Inscription : 18 janv. 2008 09:02
- Localisation : Val de Marne
Re: [Calc] Classement binomes par paire
Bonjour,
Il y a aussi des liens vers d'autres fichiers, que le logiciel nous demande d'actualiser.
Que représentent-t-ils ?
Bonne journée
Il y a aussi des liens vers d'autres fichiers, que le logiciel nous demande d'actualiser.
Que représentent-t-ils ?
Bonne journée
Jean-Michel
LibO 7.5.9 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 7.6 sur OpenSuse & Linux MX
LibO 7.5.9 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 7.6 sur OpenSuse & Linux MX
-
- NOOuvel adepte
- Messages : 13
- Inscription : 07 déc. 2016 10:51
Re: [Calc] Classement binomes par paire
le liens vers l'autre document me permet de rappeller les noms des participant car il y a une autre personne qui s'occupe des inscriptions donc comme ca il me renvoie ce fichier et le classement peut directement pomper les infos pas besoin de tout réecrire
openOffice 4.1.3 sous windows 10
-
- NOOuvel adepte
- Messages : 13
- Inscription : 07 déc. 2016 10:51
Re: [Calc] Classement binomes par paire
La modération vous a écrit: Merci de ne pas poster plusieurs messages à la suite !
Si vous devez ajouter un complément d'information, le bouton "Editer" à la droite du message permet d'y remédier.
En attendant une prochaine réponse, vous pouvez participer également en répondant à d'autres questions sur notre forum.
ton idée pour placer les équipes dans leur secteurs respectif est vraiment sympa
après pour les classements tu as bien compris le principe de classement
perso vu que je n'arrive pas a faire de macro pour placer les binomes j'avais trouvé une astuce lol une fois le tirage fini je classe tout le tableau tirage aux sort secteur en croissant et poste en croissant aussi et je recupère sur les secteur les premières lignes pour le premier secteur les 20 suivante pour le deuxieme ainsi de suite lol c'est un peux casse tête mais à mon niveau j'étai deja content
openOffice 4.1.3 sous windows 10
-
- NOOuvel adepte
- Messages : 13
- Inscription : 07 déc. 2016 10:51
Re: [Calc] Classement binomes par paire
La modération vous a écrit: Merci de ne pas poster plusieurs messages à la suite !
Si vous devez ajouter un complément d'information, le bouton "Editer" à la droite du message permet d'y remédier.
En attendant une prochaine réponse, vous pouvez participer également en répondant à d'autres questions sur notre forum.
je viens d'essayer ta macro après avoir enlevé tout les espaces dans les titres de page mais il me met un message d'erreur quand je clique.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
openOffice 4.1.3 sous windows 10
-
- Membre lOOyal
- Messages : 37
- Inscription : 19 oct. 2012 09:24
- Localisation : Toulouse
Re: [Calc] Classement binomes par paire
Désolé, je ne peux pas t'aider sur cette erreur, elle ne vient pas du fichier que j'ai mis : aucune trace d'une macro trier_croissant
Deux conseils pour l'utilisation du forum :
Deux conseils pour l'utilisation du forum :
- Suit ce que t'indique la modération, il vont finir par s'énerver, on peut être nouvel utilisateur mais il faut quand même lire les remarques et les prendre en compte. Dans tes messages il y a un bouton éditer qui permet de rajouter des points à test messages précédents.
Ajout : Ces points tu peux les encadrer avec la balise ajout - Anonymise tes fichiers et les images que tu postes
jeanmi2403 a écrit :Tu devrais anonymiser ton fichier, je ne suis pas sûr que tous tes concurrents seraient ravis d'avoir leur nom sur internet....
LibreOffice 1:5.1.4-0ubuntu1
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
-
- Membre lOOyal
- Messages : 37
- Inscription : 19 oct. 2012 09:24
- Localisation : Toulouse
Re: [Calc] Classement binomes par paire
Bon, je sais qu'il ne faut pas poster à la suite d'un de ses propres messages mais là, y a beaucoup de changement.
J'ai exploré ce projet car le problème n'est pas juste un soucis avec une macro.
J'en ai profité pour explorer les UDT, les énumérations, que j'aurai bien aimé trier autrement qu'avec l'ordre alphabétique sur la clé mais bon j'ai fait avec (à ce propos si quelqu'un a une solution elle m'intéresse) et le tri (merci Hubert Lambert)
Voilà le code du projet "Un concours de pêche" :
Et le fichier qui va avec
Il y a encore pas mal de points améliorables
Christophe
J'ai exploré ce projet car le problème n'est pas juste un soucis avec une macro.
J'en ai profité pour explorer les UDT, les énumérations, que j'aurai bien aimé trier autrement qu'avec l'ordre alphabétique sur la clé mais bon j'ai fait avec (à ce propos si quelqu'un a une solution elle m'intéresse) et le tri (merci Hubert Lambert)
Voilà le code du projet "Un concours de pêche" :
Code : Tout sélectionner
REM ***** BASIC *****
type binome
equipe$ 'nom de l'équipe
nom$ ' nom du binome
secteur% ' secteur affecté
poste% 'poste affecté
points# 'nb de points obtenus
poids# 'poids atteint
end type
type equipe
nom$ 'nom de l'équipe
binomes as variant 'tableau des binômes (pour le moment il n'y en a que deux mais qui sait si un jour...)
points% 'points totaux de l'équipe
poids% 'poids total de l'équipe
end type
function creerBinome(team$,nam$)
dim b as binome
with b
.equipe = team
.nom = nam
end with
creerBinome = b
end Function
Function creerEquipe(nam$)
dim eq as equipe
eq.nom = nam
creerEquipe=eq
end Function
Function ajouteBinome(Eq as equipe,Bi as binome)
'Ajout un binôme à une équipe
dim tabBinomes
tabBinomes = Eq.binomes
if Not(isArray(tabBinomes)) then 'tableau vide
tabBinomes = array(bi)
else
redim Preserve tabBinomes(UBound(tabBinomes)+1)
tabBinomes(UBound(tabBinomes))=bi
end if
Eq.binomes= tabBinomes
ajoutBinome=Eq
end Function
Function getBinomes()
'Récupère tous les binômes inscrits
dim oDoc as object
dim fInscription as object
dim binomes as object, bino as object
dim i%
oDoc = ThisComponent
fInscription = oDoc.Sheets.GetByName("liste des équipes")
binomes = com.sun.star.container.EnumerableMap.create("string", "any")
i=0
Do While fInscription.getCellByPosition(2,5+i).string<>""
' creerBinome(nomEquipe,nomBinome)
bino=creerBinome(fInscription.getCellByPosition(1,5+i).string, fInscription.getCellByPosition(2,5+i).string)
binomes.put(bino.nom,bino)
i=i+1
loop
getBinomes = binomes
end Function
Function getEquipes()
'Récupère toutes les équipes inscrites
dim oDoc as object
dim fInscription as object
dim equipes as object, eq as object
dim binomes as object, bi as object, enu as object
dim i%
oDoc = ThisComponent
fInscription = oDoc.Sheets.GetByName("liste des équipes")
equipes = com.sun.star.container.EnumerableMap.create("string", "any")
i=0
Do While fInscription.getCellByPosition(1,5+i).string<>""
eq=creerEquipe(fInscription.getCellByPosition(1,5+i).string)
equipes.put(eq.nom,eq)
i=i+1
loop
'maintenant au tour des binomes
binomes = getResultats()
'Ajoutons les aux équipes
enu = binomes.createValueEnumeration(False)
Do While enu.hasMoreElements
' Binôme suivant
bi = enu.nextElement
eq = equipes.get(bi.equipe)
ajouteBinome(eq,bi)
'là on peut mettre à jour les totaux par équipe
eq.points = eq.points + bi.points
eq.poids = eq.poids + bi.poids
loop
getEquipes = equipes
end Function
Function getSecteurs()
'Récupère les secteurs et les postes de tous les binômes
dim oDoc as object
dim fTirage as object
dim championnat as object,bino as object
dim i%
oDoc = ThisComponent
fTirage = oDoc.Sheets.GetByName("tirage au sort")
'Initialisation de la variable championnat
' et affectation des valeurs
championnat = getBinomes()
i=9
Do While fTirage.getCellByPosition(2,i).string<>""
bino = championnat.get(fTirage.getCellByPosition(2,i).string)
bino.secteur = fTirage.getCellByPosition(4,i).string
bino.poste = fTirage.getCellByPosition(5,i).string
i=i+1
loop
getSecteurs = championnat
end Function
Sub setSecteur
'Pourrait être un tirage aléatoire des secteurs et des postes
'si un jour l'envie de changer arrive, ah! tradition quand tu nous tiens
end Sub
Sub setFeuilleTirage
'Pour écrire les binômes inscrits sur la feuille tirage au sort
dim oDoc as object
dim fTirage as object
dim championnat as object, enu as object, elem as object
dim i%
oDoc = ThisComponent
fTirage = oDoc.Sheets.GetByName("tirage au sort")
' On récupère tous les binômes inscrit sur la feuille liste des équipes
championnat= getBinomes()
' Bouclons tous les binômes du championnat
' en créant une énumération cf : suprème de code open office forum
enu = championnat.createValueEnumeration(False)
i = 9
Do While enu.hasMoreElements
' Binôme suivant
elem = enu.nextElement
' On l'écrit sur la feuille tirage au sort
fTirage.getCellByPosition(1,i).string=elem.equipe
fTirage.getCellByPosition(2,i).string=elem.nom
i=i+1
loop
end Sub
Sub setFeuilleInscription
'Pour écrire les binômes inscrits sur la feuille liste des équipes
end Sub
Function getInscription(cheminDuFichierInscription)
'Pour récupérer les équipes et binômes inscrits
'cette macro à la place d'une fonction sur la feuille
'genre c=input(nomDuFichier)
'en enregistrant le fichier des inscriptions dans le même répertoire que le fichier du concours
end Function
Sub affecteBinomeSecteur
dim oDoc as object
dim fSecteur as object
dim secteurs as object, enu as object, elem as object
oDoc = ThisComponent
'Initialisation de la variable championnat
' et affectation des valeurs
secteurs = getSecteurs()
' Bouclons tous les binômes du championnat
' en créant une énumération cf : suprème de code open office forum
enu = secteurs.createValueEnumeration(False)
Do While enu.hasMoreElements
elem = enu.nextElement
fSecteur = oDoc.Sheets.getByName("secteur " & elem.secteur)
fSecteur.getCellByPosition(4,elem.poste+9).string = elem.nom
Loop
End Sub
sub setResultats
dim oDoc as object
dim enu as object, elem as object, b
dim resultats as object, equipes as object
dim fResultIndiv as object, fResultEquipe as object, zone as object
dim trieur
dim resBinomes$, place%, ligneDeb%, nbBinomes%, nbEquipes%
oDoc = ThisComponent
fResultIndiv = oDoc.Sheets.getByName("classement individuel")
fResultEquipe = oDoc.Sheets.getByName("classement général")
' résultats des binômes
resultats = getResultats()
'Maintenant même chose pour les équipes
equipes = getEquipes()
'Reste à écrire tout ça sur les feuilles
' Classement individuel
enu = resultats.createValueEnumeration(False)
place = 1
ligneDeb = 9
Do While enu.hasMoreElements
elem = enu.nextElement
fResultIndiv.getCellByPosition(0,place+ligneDeb).value=place
fResultIndiv.getCellByPosition(1,place+ligneDeb).string=elem.equipe
fResultIndiv.getCellByPosition(2,place+ligneDeb).string=elem.nom
fResultIndiv.getCellByPosition(3,place+ligneDeb).value=elem.points
fResultIndiv.getCellByPosition(4,place+ligneDeb).value=elem.poids
place = place+1
loop
nbBinomes = place-1
'Et trier
'Créer un descripteur pour le tri merci à Hubert Lambert
trieur = fResultIndiv.createSortDescriptor()
for each prop in trieur
if prop.Name = "ContainsHeader" then
prop.Value = True
elseif prop.Name = "SortFields" then
dim sortfield(1) as new com.sun.star.util.SortField
sortfield(0).Field = 2 ' la colonne points
sortfield(0).SortAscending = True
sortfield(1).Field = 3 ' la colonne poids
sortfield(1).SortAscending = False
prop.Value = sortfield()
end if
next prop
'La zone à trier
zone = fResultIndiv.getCellRangeByPosition(1, ligneDeb, 4, nbBinomes + ligneDeb)
zone.sort(trieur)
'Classement par équipe
enu = equipes.createValueEnumeration(False)
place = 1
ligneDeb = 9
Do While enu.hasMoreElements
elem = enu.nextElement
fResultEquipe.getCellByPosition(0,place+ligneDeb).value=place
fResultEquipe.getCellByPosition(1,place+ligneDeb).string=elem.nom
resBinomes=""
for each b in elem.binomes
resBinomes = resBinomes & b.nom & " : " & b.points & " points " & b.poids & " kg" & chr(10)
next b
fResultEquipe.getCellByPosition(2,place+ligneDeb).string=resBinomes
fResultEquipe.getCellByPosition(3,place+ligneDeb).value=elem.points
fResultEquipe.getCellByPosition(4,place+ligneDeb).value=elem.poids
place = place+1
loop
nbEquipes= place-1
'Et trier
'Créer un descripteur pour le tri merci à Hubert Lambert
trieur = fResultEquipe.createSortDescriptor()
for each prop in trieur
if prop.Name = "ContainsHeader" then
prop.Value = True
elseif prop.Name = "SortFields" then
dim sortchamp(1) as new com.sun.star.util.SortField
sortchamp(0).Field = 2 ' la colonne points
sortchamp(0).SortAscending = True
sortchamp(1).Field = 3 ' la colonne poids
sortchamp(1).SortAscending = False
prop.Value = sortchamp()
end if
next prop
'La zone à trier
zone = fResultEquipe.getCellRangeByPosition(1, ligneDeb, 4, nbEquipes + ligneDeb)
zone.sort(trieur)
zone.Rows.OptimalHeight=true
end sub
Function getResultats()
dim oDoc as object
dim feuille as object
dim championnat as object,bino as object
dim i%
oDoc = ThisComponent
championnat = getBinomes()
'Bouclons toutes les feuilles
for each feuille in oDoc.Sheets
' Si c'est une feuille de secteur
if left(feuille.name,7)="secteur" then
' On récupère les résultats
i=10
do while feuille.getCellByPosition(5,i).value>0 ' Boucle sur les postes
if feuille.getCellByPosition(4,i).string<>"" then ' Le poste est affecté à un binôme
bino = championnat.get(feuille.getCellByPosition(4,i).string)
bino.points = feuille.getCellByPosition(3,i).value
bino.poids = feuille.getCellByPosition(7,i).value
end if
i=i+1
loop
end if
next feuille
getResultats = championnat
End function
- Récupérer par Macro les données du fichier d'inscription
- Pouvoir ajouter un secteur à partir d'une matrice
- La mise en forme
- ...
- Et le codage bien sûr
Christophe
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 1:5.1.4-0ubuntu1
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
Ubuntu 16.04
Le plus difficile n'est pas de trouver la solution mais de formuler le problème
-
- NOOuvel adepte
- Messages : 13
- Inscription : 07 déc. 2016 10:51
Re: [Calc] Classement binomes par paire
Je te remercie de mon côté je cherche aussi et je pense être sur une piste lol.
J'ai refait 2 documents pour le classement individuel et un pour le général.
Ca marche mieux pour faire un tri par macro.
J'ai refait 2 documents pour le classement individuel et un pour le général.
Ca marche mieux pour faire un tri par macro.
openOffice 4.1.3 sous windows 10
-
- RespOOnsable forum
- Messages : 12228
- Inscription : 08 nov. 2005 16:23
- Localisation : Caen, France
Re: [Calc] Classement binomes par paire
Ce qui est désolant, c'est que vous n'ayez même pas pris la peine de télécharger le document mis en ligne par CBresso. Bref, voici un bel exemple de comment faire perdre du temps aux bénévoles qui vous en consacrent.anto80 a écrit :Je te remercie de mon côté je cherche aussi et je pense être sur une piste lol.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- RespOOnsable forum
- Messages : 9254
- Inscription : 28 août 2010 08:45
Re: [Calc] Classement binomes par paire
Bonjour,
N'ayant plus de nouvelles, on peut en déduire que le problème est résolu ou ne se reproduit pas.
Cordialement,
Vous avez lu semble t-il les réponses qui vous ont été faites sans y donner de suite.Dernière connexion le : 04 Jan 2017 18:28
N'ayant plus de nouvelles, on peut en déduire que le problème est résolu ou ne se reproduit pas.
- Merci de baliser par vous-même la prochaine fois.
- Un remerciement fait aussi plaisir aux bénévoles qui vous ont consacré de leur temps.
La politesse fait également partie de la philosophie du logiciel libre. - En cas d'erreur, contactez l'équipe de modération pour la réouverture du fil.
Cordialement,
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac