Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/03/2010, à 09:19

apprendrecalc

[CALC] Exercice à résoudre sur les heures

Bonjour à tous.

Voici l'énoncé de l'exercice sur CALC.

Vous êtes responsable des plannings dans votre entreprise.

Vous avez pour consigne d'arrondir les heures au quart-d'heure immédiatement supérieur.

C'est à dire que 1h42 donnera 1h45 et 2h01 donnera 2h15 etc ...

On vous livre des totaux d'heures au centième d'heure.

C'est à dire que 2h35 est donné sous la forme 2.58 (2h35*24)

Faire un tableau dans lequel ces heures s'arrondissent avec ces conditions.

Pour cet exercice, je vous livre un modèle à remplir http://apprendrecalc.com/WordPress/wp-c … heures.ods.

Afin de bien comprendre le but de l'exercice, j'ai ajouté le résultat à obtenir dans la colonne H du tableau.

Vous aurez compris que la difficulté de cet exercice réside dans l'arrondi au quart d'heure immédiatement supérieur.

Bon courage car c'est loin d'être évident.

A vos tableaux!

Slim

*****************
http://apprendrecalc.com/WordPress/
Vous trouverez sur ce site de nombreuses astuces et liens pour apprendre CALC en douceur. Vous trouverez également beaucoup d’exemples et d’explications. Actualisé tous les jours, vous trouverez également de nombreuses sources pour l'apprentissage de CALC d'Open Office, ainsi qu'une zone de téléchargement d'exemples concrets:)

Dernière modification par apprendrecalc (Le 30/03/2010, à 09:38)

Hors ligne

#2 Le 30/03/2010, à 10:19

alex2423

Re : [CALC] Exercice à résoudre sur les heures

Je dirais qu'il faut :
1./ parser ta chaine de caractères en extrayant les 2 dernièrs caractères. Je crois que la fonction Right() doit le faire.

2./ caster ta nouvelle chaine en entier

3./ utiliser des conditions IF (ou SI si c'est traduit) imbriqués.

Hors ligne

#3 Le 30/03/2010, à 10:35

apprendrecalc

Re : [CALC] Exercice à résoudre sur les heures

Bonjour Alex,

Dans l'intérêt de tous, pourrais-tu être plus précis dans tes réponses.

Il ne suffit pas de dire qu'il faut une condition SI, il faut la donner.

Sinon l'exercice n'a aucun intérêt.

Pardon de paraître vieux jeux mais je ne comprends pas les verbes "caster" et "parser"

Suis-je le seul à ne rien comprendre?

wink

Slim

Hors ligne

#4 Le 30/03/2010, à 11:16

alex2423

Re : [CALC] Exercice à résoudre sur les heures

Parser
cela consiste dans le contexte, d'extraire dans une partie de chaine de caractère ("2h15" par exemple) une sous chaine de caractères ("15" par exemple)

En effet la définition n'est pas terrible sur google :
http://www.google.fr/search?hl=fr&lr=lang_fr&defl=fr&q=define:Parser&ei=Sb-xS_-UK4qD4QaIy5muAg&sa=X&oi=glossary_definition&ct=title&ved=0CAkQkAE


http://www.google.fr/search?hl=fr&q=define%3Acaster&btnG=Rechercher&meta=lr%3Dlang_fr

caster
Cette opération consiste à changer le type.
Par exemple, dans notre cas, nous récupérons une chaine de caractère "15". Celle-ci n'est pas totalement exploitable avec des opérateurs arithmétiques. Il faut indiquer explicitement au programme (ici OpenOffice Calc) que la chaine de caractère doit etre considérer comme un nombre.


J'ai indiqué la démarche à suivre. J'obtiens souvent ce type d'aide lorsque j'en demande. Après avoir obtenu ces pistes, je fais ensuite des recherches sur Internet pour résoudre mon problème. En cas de bloquage, je redemannde de l'aide sur des points précis.

C'est comme cela fonctionne en général les forums. Je te souhaite la bienvenue parce que tu n'as pas trop l'air de connaitre. Il y a toujours un minimum de recherche à faire de la part du demandeur d'aide.

Hors ligne

#5 Le 30/03/2010, à 11:26

Adhémar

Re : [CALC] Exercice à résoudre sur les heures

En utilisant la fonction MOD, c'est complètement évident, parce que tes heures sont données au format décimal.

=A1-MOD(A1,0.25)+IF(MOD(A1,0.25)=0,0,0.25)

Il faut juste chipoter pour les valeurs multiples de 15min, pour éviter qu'il arrondisse au supérieur, d'où la fonction IF.

Hors ligne

#6 Le 30/03/2010, à 14:47

apprendrecalc

Re : [CALC] Exercice à résoudre sur les heures

Alex, ton idée de parser et de caster est possible mais très compliquée à mettre en œuvre.

Adhémar est sur la bonne voie sauf que sa fonction ne marche pas.

Pas de mélange addition et fonction si possible sur CALC.

Par contre la fonction MOD s'impose.

Pas d'autres solutions?

wink

Slim

Hors ligne

#7 Le 30/03/2010, à 14:55

Nasman

Re : [CALC] Exercice à résoudre sur les heures

Il me semble qu'il y a une fonction d'arrondis en tendant vers zéro ou en s'éloignant de zéro.
Dans le cas présent un
ARRONDI.SUP
Après il s'agit d'utiliser des fonctions modulo et des multiplications/divisions par 4 pour arrondir au quart d'heure

=ARRONDI.SUP(A3*96)/96

Edit: Le format d'origine est supposé être en format heure (à convertir au préalable)
la valeur d'origine (en jour) est multipliée par 24 (heure) et par 4 (quart d'heure). Le résultat est le nombre de quart d'heures d'écoulés. Ce nombre est arrondi par valeur supérieure puis reconverti en heures:minutes

Dernière modification par Nasman (Le 30/03/2010, à 15:10)


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#8 Le 30/03/2010, à 15:00

Adhémar

Re : [CALC] Exercice à résoudre sur les heures

apprendrecalc a écrit :

Adhémar est sur la bonne voie sauf que sa fonction ne marche pas.

Chez moi, ça marche... mais il faut juste faire attention aux problèmes de locales avec les virgules ','. Ceci dit, tu pourrais expliquer pourquoi il ne faut pas mélanger les fonctions et les sommes sous Calc ?

Hors ligne

#9 Le 30/03/2010, à 15:10

apprendrecalc

Re : [CALC] Exercice à résoudre sur les heures

Adhémar a écrit :
apprendrecalc a écrit :

Adhémar est sur la bonne voie sauf que sa fonction ne marche pas.

Chez moi, ça marche... mais il faut juste faire attention aux problèmes de locales avec les virgules ','. Ceci dit, tu pourrais expliquer pourquoi il ne faut pas mélanger les fonctions et les sommes sous Calc ?

Méa Culpa Adhémar!

On peut insérer la fonction dans une formule et l'additionner par exemple à un chiffre.


Slim

Hors ligne

#10 Le 30/03/2010, à 15:22

alex2423

Re : [CALC] Exercice à résoudre sur les heures

apprendrecalc a écrit :

Alex, ton idée de parser et de caster est possible mais très compliquée à mettre en œuvre.

En effet, ce n'est pas la meilleur technique. Je dirais meme que c'est une technique de bourrin qui peut etre appliquer avec n'importe quel language de programme.

Ne connaissant pas bien Calc, c'est cette méthode qui m'est venu tout de suite à l'idée.
On récupére la chaine de caractère, on la découpe pour récupérer juste une partie qu'il nous faut puis après on fait nos opérations avec des conditions IF.

Mais il y a surement d'autres solution plus élégante mais il faut les connaître. Adhémar t'a donné une piste intéressante en effet.

En tout cas, maintenant, tu connais la signification de parser et de caster smile

Hors ligne

#11 Le 30/03/2010, à 15:34

Nasman

Re : [CALC] Exercice à résoudre sur les heures

=ARRONDI.SUP(A1*4)/4

En multipliant par 4 (entrée en centième d'heures) on a un nombre de quart d'heures, arrondi par valeur supérieure. En redivisant par 4 on a l'heure arrondie au quart d'heure supérieur


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne