Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Il y a 97 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Explication sur DATESERIAL [RESOLU]

 
n°18563
geraldao59
Profil : Jeune recrue
Posté le 14-05-2007 à 21:52:22  profilanswer
 

Bonjour, voila je débute sur VBA excel et je ne comprend pas le fonctionnement  (ni l'utilité d'ailleurs) de la fonction DATESERIAL, comment l'interpréter "verbalement" ? , comment l'utiliser ? , et dans quel cas ?
 
Si quelque la maitrise et pouvait me l'expliquer, .. !
 
Merci a vous ;-)


Message édité par geraldao59 le 20-05-2007 à 09:16:01

---------------
Rien ne se perd, rien ne se crée, tout se transforme !!
n°18565
kiki29
Profil : Membre
Posté le 15-05-2007 à 14:22:17  profilanswer
 

Un exemple
 


en XL4 =DATEDIF(A3;B3;"y" )&" a " &DATEDIF(A3;B3;"ym" )&" m  " &DATEDIF(A3;B3;"md" )&" j"


en VBA sous forme de fonction personnalisée


Option Explicit
 
Public Function DiffDateAMJ(ByVal DateDebut As Date, ByVal DateFin As Date) As String
Dim NbAnnées As Integer, NbMois As Integer, NbJours As Integer
Dim Temp1 As Date
    Temp1 = DateSerial(Year(DateFin), Month(DateDebut), Day(DateDebut))
    NbAnnées = Year(DateFin) - Year(DateDebut) + (Temp1 > DateFin)
    NbMois = Month(DateFin) - Month(DateDebut) - (12 * (Temp1 > DateFin))
    NbJours = Day(DateFin) - Day(DateDebut)
    If NbJours < 0 Then
        NbMois = NbMois - 1
        NbJours = Day(DateSerial(Year(DateFin), Month(DateFin), 0)) + NbJours
    End If
    DiffDateAMJ = NbAnnées & " a " & NbMois & " m " & NbJours & " j"
End Function


 
qqs sites avec d'autres exemples  
 http://frederic.sigonneau.free.fr/ [...] driers.zip
 http://www.erlandsendata.no/englis [...] kstartdate
 http://www.erlandsendata.no/englis [...] teholidays
 http://www.erlandsendata.no/englis [...] weeknumber

n°18567
geraldao59
Profil : Jeune recrue
Posté le 15-05-2007 à 22:06:26  profilanswer
 

Merci pour ta réponse, mais a vrai dire j'ai oublié de te dire que je suis "plombier" (=pas trés intelligent ;-) ) et je comprend pas ton exemple vba, je tente de l'interpréter mais je n'y arrive pas HAAAAAAAAAAA, je comprend rien avec ces histoires de DATE......
 
Je vais aller voir tes liens et je continus a bosser ton ex,  merciii !


---------------
Rien ne se perd, rien ne se crée, tout se transforme !!
n°18569
kiki29
Profil : Membre
Posté le 16-05-2007 à 00:23:07  profilanswer
 

D'autres liens sur des sites francophones
http://www.cathyastuce.com/excel.htm
http://www.excelabo.net/
http://mypage.bluewin.ch/w.stucki/CalculsDates.htm
 
Tout le monde a débuté comme cela , en examinant le code des autres , en l'adaptant et en faisant des erreurs
 
Quant à l'exemple VBA pour l'utiliser il faut passer dans l'environnement VBA [ Alt+F11 ]  
Menu Insertion | Module
Placer le code de la fonction DiffDateAMJ dans le Module créé : ici Module1 par exemple
 
Revenir sous Excel  
Saisir 2 dates dans 2 cellules
Sélectionner une autre vierge
 
Puis Menu Insertion | Fonctions  
Dans la liste déroulante Sélectionner Personnalisée
Dans la liste sélectionner DiffDateAMJ
L'assistant Arguments de la fonction apparait il n'y a plus qu'a sélectionner
les 2 cellules créées plus haut

n°18570
geraldao59
Profil : Jeune recrue
Posté le 16-05-2007 à 00:28:25  profilanswer
 

AH  en fait j'ai tenté de la comprendre avec la fenetre execution de VBA mais rien n'y fait !!!!!
J'essaye cette nouvelle formule,                  enfin maintenant que je vois la marche a suivre............je ne comprend pas pourquoi je n'ai pas compris plus tot............la panique certainement..........j'ai honte !


---------------
Rien ne se perd, rien ne se crée, tout se transforme !!

Aller à :
Ajouter une réponse