[OK]comment ajouter des heures ?
Modérateur : Modérateurs
-
- Modérateur
- Messages : 1211
- Enregistré le : 02 juin 2005, 23:00:00
- Localisation : Lyon
- Contact :
[OK]comment ajouter des heures ?
Hello,
je dois faire un tableau à mon travail. Il faut additionner des heures (temps travaillé par 70 personnes). Il y en a énormement.
je dois rentrer les heures sous la forme :
1h15 = 1,15
30 minutes = 0,30
comment je fais pour les additionner et avoir un compte juste ??
exemple :
16+5+4,3+ 2,3+2+5=34,6 et je souhaite que cela affiche 35 h
Merci pour votre aide, j'en ai vraiment besoin...
(o;
je dois faire un tableau à mon travail. Il faut additionner des heures (temps travaillé par 70 personnes). Il y en a énormement.
je dois rentrer les heures sous la forme :
1h15 = 1,15
30 minutes = 0,30
comment je fais pour les additionner et avoir un compte juste ??
exemple :
16+5+4,3+ 2,3+2+5=34,6 et je souhaite que cela affiche 35 h
Merci pour votre aide, j'en ai vraiment besoin...
(o;
-
- Membre habitué
- Messages : 126
- Enregistré le : 02 juin 2005, 23:00:00
- Localisation : Coutances
Salut Shyguy,
Va voir ici :
<a href="viewtopic.php?topic=21293&forum=29&13" target="_blank">viewtopic.php?topic=21293&forum=29&13</a>
C'est ds le forum Acces, ms ttes ls reponses, ou la plupart, sont pour Exell
Ciao
Va voir ici :
<a href="viewtopic.php?topic=21293&forum=29&13" target="_blank">viewtopic.php?topic=21293&forum=29&13</a>
C'est ds le forum Acces, ms ttes ls reponses, ou la plupart, sont pour Exell
Ciao
Ciao
NiCo
NiCo
Salut.
J'ai retrouvé comment faire.
Mais à§a suppose, pour 1h et 30 min, de rentrer les valeurs :
1 (h) dans une colonne, et 30 (m)dans la suivante.
Supposons que tu veuille additionner :
- les minutes dans la colonne "C"
- les heures dans la colonne "B".
En bas (total) de la colonne minutes tu mets :
=MOD(SOMME(C4:C28);60)
En bas de la colonne heures tu mets :
=ARRONDI.INF(SOMME(C4:C28)/60;0) ----> oui, oui, on totalise bien la colonne "C" dans les deux totaux.
Ce qui a pour effet de totaliser les minutes dans la colonne "C" jusqu'à 60.
Au delà de 60, la colonne "B", heures, affiche 1, puis 2, etc.
alors que la colonne minutes ne va pas au delà de 60, et reprend à 1.
C'est pas très clair, je sais.
Il faut en faire l'essai sur une feuille Excel.
<B>Seul Hic :</B>
Si la colonne minutes à 60 min tout rond, le total affiché sera de 60 min (et pas 00),
et le total heures n'augmente pas.
Je suppose qu'on peut contourner à§a avec un "Si".
<hr>
A la réflexion, on peut peut-être faire à§a avec ton mode de saisie 1,30.
Il suffit de compter :
- ce qu'il y a à droite de la virgule;
- ce qu'il y a à gauche de la virgule.
J'ai retrouvé comment faire.
Mais à§a suppose, pour 1h et 30 min, de rentrer les valeurs :
1 (h) dans une colonne, et 30 (m)dans la suivante.
Supposons que tu veuille additionner :
- les minutes dans la colonne "C"
- les heures dans la colonne "B".
En bas (total) de la colonne minutes tu mets :
=MOD(SOMME(C4:C28);60)
En bas de la colonne heures tu mets :
=ARRONDI.INF(SOMME(C4:C28)/60;0) ----> oui, oui, on totalise bien la colonne "C" dans les deux totaux.
Ce qui a pour effet de totaliser les minutes dans la colonne "C" jusqu'à 60.
Au delà de 60, la colonne "B", heures, affiche 1, puis 2, etc.
alors que la colonne minutes ne va pas au delà de 60, et reprend à 1.
C'est pas très clair, je sais.
Il faut en faire l'essai sur une feuille Excel.
<B>Seul Hic :</B>
Si la colonne minutes à 60 min tout rond, le total affiché sera de 60 min (et pas 00),
et le total heures n'augmente pas.
Je suppose qu'on peut contourner à§a avec un "Si".
<hr>
A la réflexion, on peut peut-être faire à§a avec ton mode de saisie 1,30.
Il suffit de compter :
- ce qu'il y a à droite de la virgule;
- ce qu'il y a à gauche de la virgule.
@+
Je reviens à mon truc.
La fonction TRONQUE renvoi l'entier du nombre, en laissant de cà´té la partie décimale.
Par exemple si on saisit 2,15 dans la cellule B6 :
=TRONQUE(B6;0)
renvoi la valeur 2 ------> le ,15 a disparu.
En combinant "Tronque" avec ce que j'ai mis ci-dessus, on peut arriver à totaliser tout à§a.
------------------
Mais.
Je ne sais pas du tout s'il existe une Fonction pour tronquer le chiffre entier, afin de ne rester qu'avec la partie décimale.
Y a t il un bon en Excel parmi nous ?
La fonction TRONQUE renvoi l'entier du nombre, en laissant de cà´té la partie décimale.
Par exemple si on saisit 2,15 dans la cellule B6 :
=TRONQUE(B6;0)
renvoi la valeur 2 ------> le ,15 a disparu.
En combinant "Tronque" avec ce que j'ai mis ci-dessus, on peut arriver à totaliser tout à§a.
------------------
Mais.
Je ne sais pas du tout s'il existe une Fonction pour tronquer le chiffre entier, afin de ne rester qu'avec la partie décimale.
Y a t il un bon en Excel parmi nous ?
@+
Une étape de plus.
Cellule B6 nous avons 2,15
Cellule B30 c'est le résultat de l'opération
=TRONQUE(B6;0)
donne 2 dans la cellule B30 ----> en B6 il y a toujours 2,15
Soustraction : B6 (2,15) moins B30 (2) = 0,15
soit =B6-B30
Multiplication : 0,15 x 100 = 15 ---> et nous voila avec nos 15 min !
soit =(B6-B30)*100
A tout à l'heure
Philippe.
Cellule B6 nous avons 2,15
Cellule B30 c'est le résultat de l'opération
=TRONQUE(B6;0)
donne 2 dans la cellule B30 ----> en B6 il y a toujours 2,15
Soustraction : B6 (2,15) moins B30 (2) = 0,15
soit =B6-B30
Multiplication : 0,15 x 100 = 15 ---> et nous voila avec nos 15 min !
soit =(B6-B30)*100
A tout à l'heure
Philippe.
Salut, Shyguy.
C'est bon. Mais il faut suivre.
Colonne B2 à B26 : la saisie de tes données au format 1,30 / 2,15 / 1,05 / etc. (pour une personne).
Cellule B28 : le total de tes heures.
Cellule C28 : le total de tes minutes.
En cellule B28 :
=(TRONQUE(((SOMME(B2:B28)-(TRONQUE(SOMME(B2:B28))))*100)/60))+(TRONQUE(SOMME(B2:B28)))
En cellule C28 :
=MOD(((SOMME(B2:B28)-(TRONQUE(SOMME(B2:B28))))*100);60)
Tu peux maintenant entrer tes données sous forme de décimales.
Et merci à Anonyme qui m'a mis sur la voie avec ses décimales à lui.
(un peu long, car j'ai passé 1h 30 à tourner en rond avec une référence circulaire).
Ooouuppss.
J'ai été Déconnecté.
@+
Philippe.
C'est bon. Mais il faut suivre.
Colonne B2 à B26 : la saisie de tes données au format 1,30 / 2,15 / 1,05 / etc. (pour une personne).
Cellule B28 : le total de tes heures.
Cellule C28 : le total de tes minutes.
En cellule B28 :
=(TRONQUE(((SOMME(B2:B28)-(TRONQUE(SOMME(B2:B28))))*100)/60))+(TRONQUE(SOMME(B2:B28)))
En cellule C28 :
=MOD(((SOMME(B2:B28)-(TRONQUE(SOMME(B2:B28))))*100);60)
Tu peux maintenant entrer tes données sous forme de décimales.
Et merci à Anonyme qui m'a mis sur la voie avec ses décimales à lui.
(un peu long, car j'ai passé 1h 30 à tourner en rond avec une référence circulaire).
Ooouuppss.
J'ai été Déconnecté.
@+
Philippe.
-
- Membre hyperactif
- Messages : 771
- Enregistré le : 02 juin 2005, 23:00:00
- Localisation : CorbeauxLand
Bonsoir Shyguy,
Je te propose l'exemple suivant :
<IMG SRC="userimg/(3884)Snap128.jpg" BORDER="0">
La colonne B contient les heures que tu saisies
1.30 = 1h 30mn
7.05 = 7h 05mn
Les colonnes C et D ne sont là que pour effectuer des calculs intermédiaires. Elles peuvent être masquées.
La colonne C extrait la valeur "heure" de la colonne B
La colonne D extrait la valeur "minute" de la colonne B
Formule de C2 à C4, exemple pour C2 ..... = ENT(B2)
Formule de D2 à D4, exemple pour D2 ..... = (B2-ENT(B2))*100
En C7, on fait la somme des heures extraites. Formule ..... = SOMME(C2:C6)
En D7, on fait la somme des minutes extraites. Formule ..... = SOMME(D2:D6)
En B7, on reconstitue la somme totale (heures + minutes). La fonction est ...
=C7+(ENT(D7/60))+((D7-((ENT(D7/60))*60))/100)
Et voilou.
Je n'ai utilisé que des fonctions simples (ENT = partie entière de ; SOMME = somme de)
Pour sà»r, les connaisseurs d'Excel pourront simplifier tout à§a. En l'état, à§a fonctionne correctement !!
PS: Chez moi, le séparateur décimal est le point. Je pense que si tu as utilisé la virgule, c'est que le séparateur décimal est configuré comme à§a chez toi.
Je te propose l'exemple suivant :
<IMG SRC="userimg/(3884)Snap128.jpg" BORDER="0">
La colonne B contient les heures que tu saisies
1.30 = 1h 30mn
7.05 = 7h 05mn
Les colonnes C et D ne sont là que pour effectuer des calculs intermédiaires. Elles peuvent être masquées.
La colonne C extrait la valeur "heure" de la colonne B
La colonne D extrait la valeur "minute" de la colonne B
Formule de C2 à C4, exemple pour C2 ..... = ENT(B2)
Formule de D2 à D4, exemple pour D2 ..... = (B2-ENT(B2))*100
En C7, on fait la somme des heures extraites. Formule ..... = SOMME(C2:C6)
En D7, on fait la somme des minutes extraites. Formule ..... = SOMME(D2:D6)
En B7, on reconstitue la somme totale (heures + minutes). La fonction est ...
=C7+(ENT(D7/60))+((D7-((ENT(D7/60))*60))/100)
Et voilou.
Je n'ai utilisé que des fonctions simples (ENT = partie entière de ; SOMME = somme de)
Pour sà»r, les connaisseurs d'Excel pourront simplifier tout à§a. En l'état, à§a fonctionne correctement !!
PS: Chez moi, le séparateur décimal est le point. Je pense que si tu as utilisé la virgule, c'est que le séparateur décimal est configuré comme à§a chez toi.
Bye,
Kitty
Kitty
-
- Modérateur
- Messages : 1211
- Enregistré le : 02 juin 2005, 23:00:00
- Localisation : Lyon
- Contact :
Hello,
merci les gars. j'ai hélas pas mal d'imperatif a respecter. ils sont persuadé que je suis le dieu de l'excel ici... (ce qui n'est pà´ le cas!).
je DOIS avoir un affichage unique heure minutes, et je ne peux pas renter 0,50 au lieux de 0,30. Je dois être précis à la minutes près (les heures sup des collègues). et je dois faire des totaux en colonne et ligne...
je vais étudier vos propositions. sachant donc que je suis obliger de rejeter la solution heure et minutes séparées. (désolé Kitty)
merci encore.
merci les gars. j'ai hélas pas mal d'imperatif a respecter. ils sont persuadé que je suis le dieu de l'excel ici... (ce qui n'est pà´ le cas!).
je DOIS avoir un affichage unique heure minutes, et je ne peux pas renter 0,50 au lieux de 0,30. Je dois être précis à la minutes près (les heures sup des collègues). et je dois faire des totaux en colonne et ligne...
je vais étudier vos propositions. sachant donc que je suis obliger de rejeter la solution heure et minutes séparées. (désolé Kitty)
merci encore.
-
- Membre hyperactif
- Messages : 771
- Enregistré le : 02 juin 2005, 23:00:00
- Localisation : CorbeauxLand
Bonjour Shyguy,
Je crois détenir la solution miracle qui devrait répondre à ton attente ...
Je vais essayer d'être aussi explitif que possible afin que tu comprennes au mieux la manip à réaliser.
Dans un premier temps, tu définis une zone de saisie (zone dans laquelle tu entreras tes temps).
Tu sélectionnes ta zone puis tu lui attribues un nom. Dans mon exemple, elle s'appelle "ZoneDuree"
Ensuite, tu définis la cellule dans laquelle devra s'afficher le total des heures; tu lui attribues également un nom. Dans mon exemple, elle s'appelle "TotalDuree"
Maintenant :
1) Tu entres dans l'éditeur Visual Basic (outils / macros / Visual Basic Editor)
2) Dans le fenêtre de projet, tu sélectionnes ta feuille. Dans mon exemple, c'est "Feuil1"
3) Dans le fenêtre de code, section "Général" / "Déclarations", tu tapes le code suivant :
<TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1><b>Citation :</b></font></TD></TR></TABLE><TABLE BORDER=1 CELLPADDING=10 BORDERCOLOR=#FF0000 ALIGN=CENTER WIDTH=85%><TR BGCOLOR=#F3F2F4><TD><FONT SIZE=-1>Private Sub CalculTotalDuree()
Dim xMinute, xHeure, xTotalMinute, xTotalHeure
Dim xTotalDuree, xHeureMinute, xResteMinute
xTotalHeure = 0
xTotalMinute = 0
xTotalDuree = 0
For Each Item In Worksheets("Feuil1").Range("ZoneDuree")
xHeure = Int(Item)
xMinute = Item - xHeure
xTotalHeure = xTotalHeure + xHeure
xTotalMinute = xTotalMinute + (xMinute * 100)
Next
xHeureMinute = Int(xTotalMinute / 60)
xTotalHeure = xTotalHeure + xHeureMinute
xResteMinute = xTotalMinute - (xHeureMinute * 60)
Worksheets("Feuil1").Range("TotalDuree").Value = xTotalHeure + (xResteMinute / 100)
End Sub</FONT></TD></TR></TABLE>
4) Dans la fenêtre de code, section "Worksheet" / "Change", tu tapes le code suivant :
<TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1><b>Citation :</b></font></TD></TR></TABLE><TABLE BORDER=1 CELLPADDING=10 BORDERCOLOR=#FF0000 ALIGN=CENTER WIDTH=85%><TR BGCOLOR=#F3F2F4><TD><FONT SIZE=-1>CalculTotalDuree</FONT></TD></TR></TABLE>
5) Tu enregistres ton classeur (pour ne pas perdre tes modifs)
A chaque fois que tu modifieras quelque chose sur ta feuille, le recalcul automatique du total des heures sera lancé.
PS: Je te prépare des screenshots et je les insèrerai ici dès que je les aurai commenté.
<B>(édité à 13:45)</B>
Voici deux screenshots :
<IMG SRC="userimg/(3884)Capture1.jpg" BORDER="0">
La zone encadrée en rouge correspond à la zone de saisie, définie avec le nom "ZoneDuree"
Pour attribuer le nom à cette zone :
1) Sélectionner la zone. Dans l'exemple : de B2 à B5
2) menu Insérer / Nom / Définir
3) Saisir "ZoneDuree" (sans les guillemets) dans "Noms dans le classeur".
Vérifier que la référence porte bien sur =Feuil1!$B$2:$B$5 (pour mon exemple)
4) Valider par OK et retourner sur la feuille
La zone encadrée en bleu correspond à l'affichage du total des heures, définie avec le nom "TotalDuree"
Pour attribuer le nom à cette zone, suivre le même principe que précédemment.
Vérifier que la référence porte bien sur =Feuil1!$B$7 (pour mon exemple)
Pour le code :
<IMG SRC="userimg/(3884)Capture2.jpg" BORDER="0">
J'espère que c'est suffisamment explicite pour toi. Si tu as un quelconque souci, contacte-moi.
Je crois détenir la solution miracle qui devrait répondre à ton attente ...
Je vais essayer d'être aussi explitif que possible afin que tu comprennes au mieux la manip à réaliser.
Dans un premier temps, tu définis une zone de saisie (zone dans laquelle tu entreras tes temps).
Tu sélectionnes ta zone puis tu lui attribues un nom. Dans mon exemple, elle s'appelle "ZoneDuree"
Ensuite, tu définis la cellule dans laquelle devra s'afficher le total des heures; tu lui attribues également un nom. Dans mon exemple, elle s'appelle "TotalDuree"
Maintenant :
1) Tu entres dans l'éditeur Visual Basic (outils / macros / Visual Basic Editor)
2) Dans le fenêtre de projet, tu sélectionnes ta feuille. Dans mon exemple, c'est "Feuil1"
3) Dans le fenêtre de code, section "Général" / "Déclarations", tu tapes le code suivant :
<TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1><b>Citation :</b></font></TD></TR></TABLE><TABLE BORDER=1 CELLPADDING=10 BORDERCOLOR=#FF0000 ALIGN=CENTER WIDTH=85%><TR BGCOLOR=#F3F2F4><TD><FONT SIZE=-1>Private Sub CalculTotalDuree()
Dim xMinute, xHeure, xTotalMinute, xTotalHeure
Dim xTotalDuree, xHeureMinute, xResteMinute
xTotalHeure = 0
xTotalMinute = 0
xTotalDuree = 0
For Each Item In Worksheets("Feuil1").Range("ZoneDuree")
xHeure = Int(Item)
xMinute = Item - xHeure
xTotalHeure = xTotalHeure + xHeure
xTotalMinute = xTotalMinute + (xMinute * 100)
Next
xHeureMinute = Int(xTotalMinute / 60)
xTotalHeure = xTotalHeure + xHeureMinute
xResteMinute = xTotalMinute - (xHeureMinute * 60)
Worksheets("Feuil1").Range("TotalDuree").Value = xTotalHeure + (xResteMinute / 100)
End Sub</FONT></TD></TR></TABLE>
4) Dans la fenêtre de code, section "Worksheet" / "Change", tu tapes le code suivant :
<TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1><b>Citation :</b></font></TD></TR></TABLE><TABLE BORDER=1 CELLPADDING=10 BORDERCOLOR=#FF0000 ALIGN=CENTER WIDTH=85%><TR BGCOLOR=#F3F2F4><TD><FONT SIZE=-1>CalculTotalDuree</FONT></TD></TR></TABLE>
5) Tu enregistres ton classeur (pour ne pas perdre tes modifs)
A chaque fois que tu modifieras quelque chose sur ta feuille, le recalcul automatique du total des heures sera lancé.
PS: Je te prépare des screenshots et je les insèrerai ici dès que je les aurai commenté.
<B>(édité à 13:45)</B>
Voici deux screenshots :
<IMG SRC="userimg/(3884)Capture1.jpg" BORDER="0">
La zone encadrée en rouge correspond à la zone de saisie, définie avec le nom "ZoneDuree"
Pour attribuer le nom à cette zone :
1) Sélectionner la zone. Dans l'exemple : de B2 à B5
2) menu Insérer / Nom / Définir
3) Saisir "ZoneDuree" (sans les guillemets) dans "Noms dans le classeur".
Vérifier que la référence porte bien sur =Feuil1!$B$2:$B$5 (pour mon exemple)
4) Valider par OK et retourner sur la feuille
La zone encadrée en bleu correspond à l'affichage du total des heures, définie avec le nom "TotalDuree"
Pour attribuer le nom à cette zone, suivre le même principe que précédemment.
Vérifier que la référence porte bien sur =Feuil1!$B$7 (pour mon exemple)
Pour le code :
<IMG SRC="userimg/(3884)Capture2.jpg" BORDER="0">
J'espère que c'est suffisamment explicite pour toi. Si tu as un quelconque souci, contacte-moi.
Bye,
Kitty
Kitty
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité