Format Temps

Bonjour,

Prof d'EPS, j'essaie de rentrer le temps réalisé par mes élèves sur un 40m.

J'adopte la formule classique hh:mm:ss....c'est long....d'autant que les temps obtenus sont en ss,0. Comment faire pour les écrire dans ce format ?

Je colore les cases "filles" en rose et les cases "garçons" en bleu. Comment avoir un classement des meilleurs temps filles et garçons sous forme de Rang (meilleur temps=1)

Merci de votre précieuse collaboration

PhP

Bonjour,

Tu notes le temps en secondes (valeur décimale ainsi que tu l'indiques) et tu ne mets pas un format horaire aux cellules...

Si tu devais les utiliser ensuite dans des calculs horaires (ce qui n'est pas sûr), il suffirait de diviser tes temps par 86400.

Pour ta seconde question, un fichier d'illustration serait bienvenu.

Cordialement.

Merci bien de ton aide....,

https://www.cjoint.com/c/HIysku30xXY

Classement des filles en rose et classement des garçons en bleu ....comment faire ?

Pour calculer le rang, je rentre la bonne formule dans la 1ère cellule mais quand je l'étire aux autres, il y a toujours un décalage : la formule ne prends pas la 1ère cellule mais la seconde et la dernière du tableau+1, ainsi de suite....comment palier à ça ??

Cordialement

Php

Pour ta formule en C :

=RANG(B3;$B$3:$B$27;1)

Pour que B3:B27 demeure fixe d'une ligne à l'autre lors de la recopie, il faut mettre la plage en références absolues.

Ça, cela fait partie des bases d'Excel , par contre tu en sors avec tes couleurs ! A un double titre :

  • en n'ayant aucun autre identificateur du sexe que la couleur que tu mets dans la cellule, or aucune fonction native d'Excel ne traite des couleurs (qui ne sont pas un contenu de cellule mais une mise en forme), ce qui implique de passer par VBA (fonction personnalisée) pour identifier les sexes ;
  • et d'autre part, pour ne prendre en considération qu'une partie de ta liste de temps, cela implique une formule matricielle, ce que la fonction RANG ne supporte pas.

J'ai donc codé une fonction de comparaison des couleurs de cellule d'une plage à une cellule étalon, qui renvoie une matrice de VRAI ou FAUX selon que la couleur de cellule correspond à l'étalon ou non.

Elle fonctionne, et permet le cas échéant d'extraire les temps filles et les temps garçons dans des colonnes distinctes.

A ce stade, je te laisse réfléchir à la solution que tu préfères : soit l'orientation que je viens d'indiquer qui implique l'ajout de deux colonnes que l'on masquera, et qui permettront d'utiliser la fonction RANG pour déterminer le rang, soit poursuivre en VBA avec une autre fonction personnalisée qui pourra utiliser la première pour définir les valeurs à classer et renvoyer leur rang.

En attendant, je livre le code de la fonction de comparaison de couleurs :

Function COMPCOULEUR(Plg As Range, cRef As Range)
    Dim MatCC, i%, k%, clr&, No As Boolean
    Application.Volatile
    MatCC = Plg
    If cRef.Interior.ColorIndex = xlColorIndexNone Then
        No = True
    Else
        clr = cRef.Interior.Color
    End If
    With Plg
        For i = 1 To .Rows.Count
            For k = 1 To .Columns.Count
                If No Then
                    If .Cells(i, k).Interior.ColorIndex = xlColorIndexNone Then
                        MatCC(i, k) = True
                    Else
                        MatCC(i, k) = False
                    End If
                Else
                    If .Cells(i, k).Interior.ColorIndex <> xlColorIndexNone Then
                        If .Cells(i, k).Interior.Color = clr _
                         Then MatCC(i, k) = True Else MatCC(i, k) = False
                    Else
                        MatCC(i, k) = False
                    End If
                End If
            Next k
        Next i
    End With
    COMPCOULEUR = MatCC
End Function

Doit être utilisée matriciellement si la plage à comparer à une cellule de référence comporte plus d'une cellule.

Cordialement.

Mferrand, tu fais un travail remarquable et passionné avec des réponses claires et précises....bravo !

J'ai compris et appris le principe de référence absolue et relative....que je ne connaissais pas.

Pour le code VBA....je n'en ai jamais fait....peut-être serait-il plus simple pour moi de commencer par le BEABA...après tout avec une trentaine de donnée, je peux faire une colonne de données filles avec à côté son classement et une colonne de données garçons avec à côtés son classement. Ca fait pas mal de colonnes, mais je crois que j'irai plus vite ainsi.

Encore merci pour le coup de main.....Par où dois je commencer pour me lancer dans le codage VBA...après tout je code déjà en informatique (html+css), ça ne devrait pas me rebuter.

Cordialement

PhP

Bonjour,

Effectivement des colonnes dédiées te permettront d'opérer plus simplement.

Note bien que tu peux utiliser la fonction dont j'ai fournie le code, adaptée à ta configuration, que tu pourras voir dans le fichier ci-joint en colonne J. Elle y est utilisée sur la colonne (nombre de cellules préalablement sélectionnées égal à la liste de référence, ici on sélectionne donc J3:J27. On tape la formule :

=SI(COMPCOULEUR(B3:B27;D2);B3:B27;"")

Et on valide par la combinaison de touches : Ctrl+Maj+Entrée qui constitue la validation d'une formule contenant des fonctions matricielles ou utilisées sous forme matricielle (exception faite de SOMMEPROD qui est une matricielle fonctionnant généralement sans validation matricielle).

La formule s'encadre alors d'accolades indiquant qu'elle est matricielle et le résultat apparaît dans la plage sélectionnée au départ.

NB- lorsqu'on utilise une formule matricielle sur une plage de plusieurs cellules, les cellules ne sont plus modifiables individuellement, elles demeurent liées par la formule...

Et dans la colonne K tu as l'utilisation de RANG qui peut alors être utilisée :

=SI(J3<>"";RANG(J3;$J$3:$J$27;1);"")

Il y faut une condition, car la formule matricielle a renvoyé en J les valeurs temps lorsque la condition couleur était satisfaite, mais la valeur "" lorsqu'elle ne l'était pas.

Or, si RANG va ignorer les éléments non classables de J3:J27 pour renvoyer le bon classement des valeurs classables, elle va renvoyer une erreur pour les valeurs "" qu'elle ne peut pas classer. La condition est destinée à éliminer cette erreur.

Cordialement.

Par où dois je commencer pour me lancer dans le codage VBA...après tout je code déjà en informatique (html+css), ça ne devrait pas me rebuter.

Malheureusement les 2 n'ont pas grand chose à voir avec VBA !

A ma connaissance il n'existe pas de solution clef en main pour démarrer ce genre de formation.

A mon sens l'idéal serait de commencer avec quelqu'un qui connait déjà bien et qui est capable de te mettre le pied à l'étrier en accéléré.

Il y a des multitudes de petits cours plus ou moins gratos et de tutos, à commencer par celle qui figure en haut de cette page... Mais la cohérence générale entre tous les sites qui parlent de ça est difficile à trouver. Surtout si tu n'as pas la moindre formation en programmation.

Quand aux livres... ils ne servent que si on n'en a plus guère besoin ! Dans ces conditions pas facile de t'en dire plus.

Peut-être que ma réponse en incitera d'autre à développer leur expérience sur la question ?

Lien à mettre dans tes favoris. (La Bible Excel - VBA)

Cadeau : Un peu succint mais beaucoup de choses bien regroupées dans un pdf de qualité. Pour aller plus loin, après il faut aller voir du coté de chez Eyrolles...

A+

Messieurs,........ je suis impressionné....vous m'offrez gentiment vos précieuses connaissances avec patience, pédagogie et générosité. C'est plus qu'appréciable et ce temps passé au service des ignorants est d'une très grande valeur humaine. Bravo à vous et grand merci......j'ai maintenant de quoi faire pour évoluer et progresser.

Je pourrai ajouter qu'un des meilleurs moyens de progresser est de fréquenter ce forum (parce que en français, c'est le seul vraiment orienté débutants)

Essaie de te trouver un helpeur vraiment orienté pédago et dont le style te convienne... (C'est important !) Et essaie de t'en servir comme référent. A force de trop multiplier les intervenants -surtout au début- on a plus de mal à faire le lien entre des habitudes trop disparates...

Et surtout essaie de sonder dès le départ comment il s'organiserait face à un problème donné plutôt que de suggérer une mauvaise solution (qui bien sur ne marche pas !)

Trop de visiteurs viennent ici et essaie de trouver des réponses à de mauvaises questions. Il vaut mieux demander comment faire que de focaliser sur une idée à la noix et qui va compliquer la suite du travail...

A+

Bonjour,

J'avais zappé ta question... ce qui a été très largement comblé par Galopin .

Cordialement.

Rechercher des sujets similaires à "format temps"