VBA/Excel2003/importer une date dans une var

by -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je dois calculer le nombre d'heures séparant la date de demande d'intervention, et la date de réalisation. Plusieurs topics en parlent ms aucun ne me permet de règler mon pb.

Voici mon code (j'ai créé une fonction, que j'appelle par la suite dans ma procédure Sub, le 1er souci qui se pose c'est que je n'arrive pas à récupérer dans mes variables la date apparaissant dans mes cellules sur ma feuille de calcul)

Function EcartDates(DateDemande As Date, DebutRealisation As Date) As Double

EcartDates = DateDiff("h", DateDemande, DebutRealisation, vbMonday, vbFirstJan1)

End Function


Sub Delai()

Dim i As Byte
Dim DateDemande As Date
Dim DebutRealisation As Date

For i = 2 To 10

DateDemande = Worksheets("Depart").Cells(i, L).Value
DebutRealisation = Worksheets("Depart").Cells(i, L).Value
Worksheets("Depart").Cells(i, BQ) = EcartDates(DateDemande, DebutRealisation)


Next

End Sub


A voir également:

1 réponse

thordek Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   9
 
Bonjour,

Premierement, ta fonction marche très bien.

Par contre, dans ta procedure, c'est quoi ces "Cells(i,L)" ? Ca ne veut rien dire. La colonne L est la colonne numéro 12. Du coup, ça s'ecrit : Cells(i,12)

Essaye déjà ça.

Cdt,

Thordek
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

petite astuce:
on peut écrire
cells(i,"L")

+ lisible si on n'a pas à incrémenter les colonnes...

de m^me il vaut coder par "blocs" beaucoup sécurisant et pouvant éviter de sheets("machin").activate très lent et peu pratiques

With Worksheets("Depart")
     DateDemande = .Cells(i, "L").Value
     DebutRealisation = .Cells(i, "L").Value
     .Cells(i, "BQ") = EcartDates(DateDemande, DebutRealisation)
End With
0