Bonjour a tous,
J’ai ecrit cette petite function qui soustrait/ajoute un certain nombre de jours(n) d’une date de depart(dtStart). Si le result tombe sur un weekend alors , la function retourne le vendredi d’avant.
Je veux m’assurer que la cellule qui accueille la function soit de type date("m/d/yyyy") pour eviter de le faire manuellement. Pour ce faire, j’utilise Application.Caller mais visiblement cela ne marche pas !!!
Pouvez vous svp me dire la cause de ma bêtise?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Function fctTMinus(dtStart As Date, n As Byte) As Date 'function qui soustrait/ajoute un certain nombre de jours(n) d'une date de depart(dtStart). _ Si le result tombe sur un weekend alors , la function retourne le vendredi d'avant. Dim dtTemp As Date dtTemp = DateAdd("d", -n, dtStart) 'Renvoyer le vendredi d'avant si le result de l'operation donne un weekend. Select Case Weekday(dtTemp, vbMonday) Case 6 'Renvoyer le vendredi d'avant si le result tombe sur samedi dtTemp = DateAdd("d", -1, dtTemp) Case 7 'Renvoyer le vendredi d'avant si le result tombe sur Dimanche. dtTemp = DateAdd("d", -2, dtTemp) End Select 'Le resultat final fctTMinus = dtTemp 'S'assurer la cellule qui acceuille le result soit du format date ie "m/d/yyyy". 'CECI NE SEMBLE PAS MARCHER COMME ESCOMPTE !!!! If IsObject(Application.Caller) Then Application.Caller.NumberFormat = "m/d/yyyy" Else End If End Function
Partager