Probleme avec Application Caller
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:
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 |