[EXCEL] Besoin d'une macro - calcul

Demky -  
 Cdommage -
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...
Configuration: Windows XP
Firefox 3.0.14

3 réponses

  1. Demky Messages postés 18 Statut Membre 2
     
    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
  2. dobo69 Messages postés 1593 Date d'inscription   Statut Membre Dernière intervention   835
     
    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
  3. Demky Messages postés 18 Statut Membre 2
     
    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
    1. Cdommage
       
      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