[EXCEL] Besoin d'une macro - calcul
Demky
-
Cdommage -
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...
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:
- [EXCEL] Besoin d'une macro - calcul
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
3 réponses
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)
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)
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
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
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.
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.
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.