[EXCEL] Besoin d'une macro - calcul

Fermé
Demky - 9 oct. 2009 à 23:20
 Cdommage - 11 oct. 2009 à 22:11
Bonjour,

Excel 2007

Je me fait tableau sur excel pour calculer automatiquement le nombre d'heure sup effectué chaque semaine.
Le tableau ressemble a ça :

http://img25.imageshack.us/img25/8226/sanstitrehj.jpg

J'essaye de trouver une macro qui calculerai automatiquement sur la ligne du dimanche, le nombre d'heure sup de la semaine, j'en suis actuelement a ça :

Private Sub Worksheet_Change(ByVal Target As Range)
' Calcul Heure sup le dimanche
If Target.Column = 1 _
And Target.Row >= 2 Then
If UCase(Target.Value) = "Dimanche" Then
Target.Offset(0, 4).Font.ColorIndex = 3
--> Comment lancer le calcul ?
Else
Target.EntireRow.Interior.ColorIndex = 0
End If
End If

Mais n'y connaissant rien en macro, je ne trouve pas la fonction qui permets de "lancer" un calcul...
A voir également:

3 réponses

Demky Messages postés 17 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 26 mars 2012 2
9 oct. 2009 à 23:26
Ajout 'impossible d'editer le message, je l'ai creer en mode Invité :/

Le calcul des heures sup s'effectue dans la ligne du Dimanche dans la 5eme cases(collone E

Il doit reprendre la valeurs des 5 cases au dessus de la 4eme case du dimanche (Collone D)
0
dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013 823
9 oct. 2009 à 23:38
Bonsoir,

Je n'ai peut etre pas compris toute la problématique mais utiliser des formules n'est pas possible ?

Cf exemple joint :
http://www.cijoint.fr/cjlink.php?file=cj200910/cijs62pDjr.xls
0
Demky Messages postés 17 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 26 mars 2012 2
10 oct. 2009 à 00:25
Salut dobo.

Le probleme des formules, c'est qu'il faut les retaper toutes les semaines :(

J'aime l'informatique, automatique...
Excel à la chance d'avoir le vb pour creer des action automatique, je trouve dommage de passer a coté.

De une, j'apprends quelque chose grace a la creation de la macro.
De deux ça simplifie grandement la vie. :)

Le probleme comme dit plus haut, c'est que je n'ai aucune idée de la fonction qui permet de lancer un calcul avec vb.
0
Sub lance_calcul()
    Call derniere_ligne
    For i = 2 To ligne - 1
        Call temps_travail
        Call repos
    Next i
End Sub

Sub derniere_ligne()
Range("a65535").End(xlUp).Offset(1, 0).Select
ligne = ActiveCell.Row
End Sub

Sub temps_travail()
    depart = Range("C" & i).Value
    arrivee = Range("E" & i).Value
    tps_w = arrivee - depart
    Range("F" & i).Value = tps_w
End Sub

Sub repos()
'Déclaration Bornes
    borne8 = 0.33
    borne17 = 0.708
    borne20 = 0.833
    borne23 = 0.999
    If (arrivee > borne20) Then
        Range("G" & i).Value = 2 * tps_w
        MsgBox "branleur" & " " & Range("G" & i).Value
    ElseIf (arrivee <= borne17) Then
        Range("G" & i).Value = "NON"
        MsgBox "pas de repos feignasse va!!!" & " " & Range("G" & i).Value
    ElseIf (borne17 < arrivee < borne20) Then
        Range("G" & i).Value = tps_w
        MsgBox "t'as pas assez bossé!" & " " & Range("G" & i).Value
    End If
    
End Sub


Par exemple... La fonction Call suivi du nom de la marco à lancer.
0