XL 2016 Récupération d'une date

jean nemar

XLDnaute Nouveau
Bonjour,
Je souhaiterai récupérer la première date du mois M+1 dans une liste ne comportant que les jours ouvrés, afin d'automatiser la création des tableaux.
Ci-joint extrait d'un fichier qui devrait compter les 12 mois de l'année.
J'ai beau lire les questions et réponses sur le forum, je ne suis pas suffisamment calé pour trouver.
Vous remerciant par avance
Jean (un néophyte en plein désarroi)
 

Pièces jointes

  • test_date.xlsx
    35.2 KB · Affichages: 16

job75

XLDnaute Barbatruc
Bonjour jean nemar, salut djidji59430,

Il faut être plus clair, dites-nous ce que vous voulez obtenir exactement et où placer le résultat.

Par ailleurs dans votre fichier il faudrait supprimer les jours fériés, ce ne sont pas des jours ouvrés.

A+
 

jean nemar

XLDnaute Nouveau
Bonjour,
C'est juste pour récupérer la première date du mois suivant dans la cellule C3 du nouveau mois. Pour que se soit plus clair, quand je crée octobre (10) je veux récupérer sur septembre (09) le 01/10/19 (09!c24). Automatisation qui m'éviterai soit de le saisir, soit de faire un copier-coller.
Merci d'avance.
Jean (sur la route de l'espoir)
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,
bonjour le fil,

Dans le fichier joint et pour la feuille 10: formule en c3 : SERIE.JOUR.OUVRE(DATE(2019;10;1)-1;1)
qui retourne le premier jour ouvré après la veille du premier du mois

Vous pouvez construire la date comme vous voulez (ex: avec FIN.MOIS) du moment qu'elle retourne le dernier jour du mois précédent.

Autre exemple : DATE(2019;DROITE(CELLULE("nomfichier";A1);2)*1;1)-1 ' si vos noms de feuilles se terminent tous par 2 chiffres.

Pour les jour suivants, même formule que @djidji59430 .

Dans la colonne B un exemple de formule évitant vos multiples SI et se référant à la cellule de droite (date) c'est plus sûr en cas d'erreur sur formule en c (formule renvoyant un samedi ou dimanche), vous le verrez tout de suite. : =CHOISIR(JOURSEM($C3;2);"L";"Ma";"Me";"J";"V";"S";"D")

Mais comme le signale TRES justement @job75 , il vous manque le traitement des fériés.

Bon dimanche à chacun
 

Pièces jointes

  • test_date.xlsx
    36.7 KB · Affichages: 4
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour le fil, le forum, hello Roblochon,

Voyez le fichier .xlsm joint avec la feuille des jours fériés et cette macro dans ThisWorkbook :
VB:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Not IsNumeric(Sh.Name) Or Target.Address <> "$C$3" Then Exit Sub
Cancel = True
Target = Application.WorkDay(DateSerial(Year(Date), Sh.Name, 0), 1, [Fériés]) '1er jour ouvré
Target(2).Resize(23) = "=WORKDAY(R[-1]C,1,Fériés)" 'SERIE.JOUR.OUVRE
Target(1, 0).Resize(24) = "=CHOOSE(WEEKDAY(RC[1],2),""L"",""Ma"",""Me"",""J"",""V"")"
Target(1, -1).Resize(24) = "=IF(ISOWEEKNUM(RC[2])<>ISOWEEKNUM(R[-1]C[2]),ISOWEEKNUM(RC[2]),"""")"
End Sub
Les colonnes A B C des feuilles des mois sont remplies par double-clic en C3, voyez les formules.

Bonne journée.
 

Pièces jointes

  • test_date(1).xlsm
    49.1 KB · Affichages: 7

job75

XLDnaute Barbatruc
En fait pas besoin de VBA, voyez le fichier .xlsx joint et cette formule en C3 :
Code:
=SERIE.JOUR.OUVRE(DATE(ANNEE(AUJOURDHUI());DROITE(CELLULE("filename";A1);2);0);1;Fériés)
 

Pièces jointes

  • test_date(1).xlsx
    41.2 KB · Affichages: 6

Discussions similaires

Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof