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.