(Résolu) message si dernier jour ouvré du mois

  • Initiateur de la discussion Initiateur de la discussion Macpoy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Macpoy

XLDnaute Impliqué
Bonjour le forum,
première info: ma semaine commence le mardi et se finie le samedi soir.
j'aimerais intégrer dans une macro, (que j'ai déjà créer) un message m'avertissant que c'est le dernier jour ouvré du mois.
cette demande est loin d'être simple puisqu'il faut prendre en compte que le dernier jour du mois peut être un dimanche ou un lundi (jours ou je ne travailles pas ) que ce peut être le 28, le 29 (année bisextile) le 30 ou le 31.
bon j'imagine que cela commence comme cela :

If (ActiveCell.FormulaR1C1 = "=DAY(A1)" = 28) Then
MsgBox "c'est la fin du mois"
End If

toutes vos idées pour y arriver ou contourner sont les bienvenues.
je continus à chercher en même temps que vous
cordialement
jacques
après quelques essais :
If (Day(A1) = 28) Then
MsgBox ("c'est la fin du mois")
End If
bon on s'y remet !!
 
Dernière édition:
???????? y à comme un truc que je comprend pas ??? pierre, j'ouvre ton classeur rédigé avec excel 2010 et j'arrive à "manipuler" tes formules mais si je les mets dans mon classeur d'excel 2003 elles ne sont pas reconnues ??????
je ne souhaites pas migrer vers 2010 (due à l'origine de mon 2003 !!)
 
Bonjour à tous,
Bonjour aux amis,

Une formule avec une date en A1 :
Code:
=SI(JOURSEM(FIN.MOIS(DATE(ANNEE($A1);MOIS($A1);1);0);2)=1;
FIN.MOIS(DATE(ANNEE($A1);MOIS($A1);1);0)-2;
SI(JOURSEM(FIN.MOIS(DATE(ANNEE($A1);MOIS($A1);1);0);2)=7;
FIN.MOIS(DATE(ANNEE($A1);MOIS($A1);1);0)-1;
SI(JOURSEM(FIN.MOIS(DATE(ANNEE($A1);MOIS($A1);1);0);2)<7;
FIN.MOIS(DATE(ANNEE($A1);MOIS($A1);1);0);"")))

A+ à tous
 
Bonjour à tous,

Si joursem(date;12) fonctionne sur ton PC et sans fin.mois(date) , tu peux essayer avec la date en "A2":
Code:
=SI(JOURSEM(DATE(ANNEE(A2);MOIS(A2)+1;1)-1;12)<6;DATE(ANNEE(A2);MOIS(A2)+1;1)-1;SI(JOURSEM(DATE(ANNEE(A2);MOIS(A2)+1;1)-1;12)=6;DATE(ANNEE(A2);MOIS(A2)+1;1)-2;DATE(ANNEE(A2);MOIS(A2)+1;1)-3))

JHA
 
bonjour à tous,
je ne sais pas ou j'avais la tête ????
j'ai oublié que grâce à VBA ont pouvait créer des fonctions ce qui fait que n'avait pas copier le module.
avec cela je vais progresser.
mais travaillant sous 2003 je tente d'installer le SP3 d'office mais : "la mise à jour n'a pas été installée " ???
 
bon ben voila discussion finie et résolue.
avec la déclaration de fonction de PierreJean et ce que j'ai bidouillé cela donne:

Sub derjouvr()
'
If Date = Sheets("RECAP FICHE").Range("n7") Then 'en N7 j'ai la fonction =dernier_jour_ouvre(o7) ,en O7 la date du jour
MsgBox ("c'est la fin du mois")
finmois ' macro permettant de faire des stats pour comparer chaque mois

End If

End Sub

merci à tous et bonne continuation.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
148
Réponses
4
Affichages
549
Retour