[EXCEL 2007] Ne rien afficher si dimanche ou samedi

eillon

XLDnaute Junior
Bonjour,

Après mon planning de congés, je me penche sur un calcul d'heures.
Jusqu'à présent, je le remplissais à la main, j'aimerai bien automatiser pour ne pas à me retaper tout le travail tous les mois.
Colonne A je souhaiterai que les dimanches et samedis soient cellules vides mais apparentes.
Les semaines en colonne C comme dans l'exemple, fusion et n° de semaine.
Le cumul d'heure en colonne I se place sur la ligne du samedi en faisant la somme de la semaine correspondante
Code:
=SOMME(H4:H9)
Je ne suis peut-être pas très clair.
 

Pièces jointes

  • 08 aout 2011.xls
    22 KB · Affichages: 63
  • 08 aout 2011.xls
    22 KB · Affichages: 63
  • 08 aout 2011.xls
    22 KB · Affichages: 68

cora

XLDnaute Occasionnel
Re : [EXCEL 2007] Ne rien afficher si dimanche ou samedi

J'avais oublier de masquer les week end
C'est une formule conditionnelle
 

Pièces jointes

  • 08 aout 2011.xls
    27 KB · Affichages: 71
  • 08 aout 2011.xls
    27 KB · Affichages: 71
  • 08 aout 2011.xls
    27 KB · Affichages: 64

Softmama

XLDnaute Accro
Re : [EXCEL 2007] Ne rien afficher si dimanche ou samedi

Bonjour,

ceci devrait t'aider :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:A2")) Is Nothing Then Exit Sub
Dim c As Range
With Range("C4:C34")
  .UnMerge: .ClearContents: .Borders(xlInsideHorizontal).LineStyle = xlNone
End With
Range("I4:I34").ClearContents

If Weekday([A4], vbMonday) < 6 Then
    [C4] = DatePart("ww", [A4], vbMonday, vbFirstFourDays)
    With Range([C4], [C4].Offset(5 - Weekday([A4], vbMonday)))
        .Merge
        .Borders.Weight = xlMedium
    End With
End If

For Each c In Range("A4:A34")
  If Weekday(c, vbMonday) = 1 Then
    c.Offset(0, 2) = DatePart("ww", c, vbMonday, vbFirstFourDays)
    With Range(c.Offset(0, 2), IIf(c.Row > 29, Range("C34"), c.Offset(4, 2)))
      .Merge
      .Borders.Weight = xlMedium
    End With
  ElseIf Weekday(c, vbMonday) = 6 Then c.Offset(0, 8).FormulaR1C1 = IIf(c.Row > 8, "=SUM(R[-5]C:R[-1]C)", "=SUM(R4C:R[-1]C)")
  End If
Next c

End Sub
 

Pièces jointes

  • 08 aout 2011.xls
    39 KB · Affichages: 62
  • 08 aout 2011.xls
    39 KB · Affichages: 65
  • 08 aout 2011.xls
    39 KB · Affichages: 60

eillon

XLDnaute Junior
Re : [EXCEL 2007] Ne rien afficher si dimanche ou samedi

Merci...
En faisant un mix des deux, j'ai mon résultat optimal...
Je vous remercie...
Je travaillerai sur les jours fériés plus tard.

Un détail, dans l'exemple j'ai une feuille, mais mon classeur en comporte 16.
Puis-je les faire toutes fonctionner


Pour le calcul des heures en I, je ne trouve pas comment changer la somme su H
 

Pièces jointes

  • 08 aout 2011.xls
    177 KB · Affichages: 84
  • 08 aout 2011.xls
    177 KB · Affichages: 86
  • 08 aout 2011.xls
    177 KB · Affichages: 86
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 905
Membres
103 982
dernier inscrit
krakencolas