Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Petit échéancier

Ethique

XLDnaute Nouveau
Bonjour
J'utilise Excel 2003.
Après de nombreuses recherches sur plein de forums, je n'arrive pas obtenir de réponses a mon problème.
Je vais bientôt être a la retraite et je voudrais créé un fichier Excel qui me compte le nombre de jours qu'il me reste a me lever pour aller au taf.
J'ai fais un calendrier sous Excel, avec un mois par onglet, la fonction NB.SI, me compte le nombre de cellules contenant le mot " Travail " dans une cellule de chaque onglet. Dans un nouvel onglet Excel additionne tout ces résultats moins les congés.
Mon blème: je voudrais utiliser la fonction AUJOURDHUI de façon que Excel m'enlève automatiquement les jours à faire au taf a mesure que le temps passe.
En PJ, mon fichier Excel
Je me demande si c'est possible, merci d'avance pour vos réponse.
 

Pièces jointes

  • Pere cent.xls
    108.5 KB · Affichages: 73

job75

XLDnaute Barbatruc
Re : Petit échéancier

Bonjour Ethique, bienvenue sur XLD,

Voyez le fichier joint avec en K2 des feuilles des mois :

Code:
=NB.SI(B6:F11;"Travail")-MAX(NB.JOURS.OUVRES(1&B2;AUJOURDHUI()-1;Fériés);)
Et en D13 de la feuille "TOTAUX" :

Code:
=SOMME('Mars 2016:Septembre 2016'!K2)-E8
total qu'on obtient d'ailleurs directement par cette formule en E13 :

Code:
=NB.JOURS.OUVRES(AUJOURDHUI();"30/09/2016";Fériés)-E8
Il est tout à fait inutile d'effacer le mot "Travail" pour mettre à jour.

Edit : j'ai tenu compte des jours fériés dont la liste est dans la feuille "Jours fériés".

J'y ai inclus le 26 août (?) puisque vous ne travaillez pas ce jour là.

Question à cent (sous) : à quoi sert le calendrier puisque les jours restants se calculent par une seule formule en TOTAUX!E13 ???

A+
 

Pièces jointes

  • Pere cent(1).xls
    455 KB · Affichages: 69
Dernière édition:

Ethique

XLDnaute Nouveau
Re : Petit échéancier

Merci de m'avoir répondu
pas de bol, le fichier me rapporte une erreur.
Je pense que cela vienne de Excel 2003
Voir PJ
Je vais creuser tout ça.

Un petit edit: il fallait activé une macro complémentaire.
je vais adapté toussa à ma sauce

Je conserve le calendrier pour annoté des trucs et machins.
et effectivement j'avais une cellule en aout vide.
Merci encore
 

Pièces jointes

  • 2016-03-12_124024.jpg
    22.9 KB · Affichages: 43
Dernière modification par un modérateur:

job75

XLDnaute Barbatruc
Re : Petit échéancier

Re,

Une solution par macros VBA, à placer dans ThisWorkbook (Alt+F11) :

Code:
Private Sub WorkBook_Open()
Calcul
Application.OnTime 0, "ThisWorkbook.Calcul" 'exécution à minuit pour la MAJ
End Sub

Private Sub WorkBook_SheetActivate(ByVal Sh As Object)
Calcul Sh
End Sub

Private Sub WorkBook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Calcul Sh
End Sub

Sub Calcul(Optional Sh As Object)
Dim mois As Byte, an%, c As Range, jour As Byte, n As Byte, f As Object
Static ncumul& 'mémorisation
If Sh Is Nothing Then Set Sh = Me.ActiveSheet
If IsDate("1 " & Sh.Name) Then
  mois = Month("1 " & Sh.Name): an = Year("1 " & Sh.Name)
  For Each c In Sh.[B6:H11]
    If c.Borders(xlEdgeLeft).LineStyle <> xlNone Then 'repérage par les bordures
      jour = jour + 1
      If DateSerial(an, mois, jour) >= Date And LCase(c) = "travail" Then n = n + 1
    End If
  Next
  Application.EnableEvents = False 'désactive les évènements
  Sh.[K2] = n
  ncumul = ncumul + n
ElseIf UCase(Sh.Name) = "TOTAUX" Then
  ncumul = 0 'RAZ
  For Each f In Sheets
    If IsDate("1 " & f.Name) Then Calcul f
  Next
  Application.EnableEvents = False 'désactive les évènements
  Sh.[D13] = ncumul - Sh.[E8]
End If
Application.EnableEvents = True 'réactive les évènements
End Sub
Edit : il est inutile d'initialiser les variables jour et n.

Notez qu'il n'y a plus besoin de répertorier les jours fériés.

Vous pouvez même prévoir de travailler ces jours-là ou quelques week-ends !

Notez aussi qu'il n'est plus possible de modifier les cellules K2 ou la cellule TOTAUX!D13...

Ces cellules se mettent à jour quand on active la feuille ou qu'on y modifie des cellules.

Fichier joint.

A+
 

Pièces jointes

  • Pere cent VBA(1).xls
    482.5 KB · Affichages: 61
Dernière édition:

job75

XLDnaute Barbatruc
Re : Petit échéancier

Re,

Avec ce fichier (2) vous pouvez mettre d'autres mots avec "Travail".

"Travail chez pépé" sera compté grâce à InStr(LCase(c), "travail")

A+
 

Pièces jointes

  • Pere cent VBA(2).xls
    483.5 KB · Affichages: 72

Discussions similaires

Réponses
5
Affichages
606
Réponses
9
Affichages
666
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…