Les Allergies
Alimentaires
Posez votre question Signaler

[EXCEL] Besoin d'une macro - calcul

Demky - Dernière réponse le 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...
Lire la suite 

[EXCEL] Besoin d'une macro - calcul »

4 réponses
Réponse
+0
moins plus
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)
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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.
Cdommage - 11 oct. 2009 à 22:11
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.
Ajouter un commentaire
Ce document intitulé « [EXCEL] Besoin d'une macro - calcul » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?