probleme de boucle avec une date résolu

probleme de boucle avec une date résolu - VB/VBA/VBS - Programmation

Marsh Posté le 09-05-2006 à 14:48:04    

voila ma un bout de ma fonction :  
 
cptt = 3
cpt = 3
tmp = 0
 
With Worksheets("enr_incidents" )
    DateLue = DateValue(.Range("A" & cpt))
    If IsDate(DateLue) Then
        MsgBox "ca mache"
    Else
        MsgBox "ca marche pas"
        Exit Sub
    End If
End With
 
 
With Worksheets("enr_incidents" )
    Do
        DateLue = DateValue(.Range("A" & cpt))     <---
        If (.Range("B" & cpt).Value = ListCli.Value) And (DateLue < DateFin) Then
            test = test + 1
            tmp = .Range("T" & cpt).Value * 1000000 / Deno
            .Range("Y" & cptt).Value = tmp
            cptt = cptt + 1
        End If
        cpt = cpt + 1
    Loop Until IsEmpty(.Range("T" & cpt))
End With
End Sub
 
qd je test simplement la date, ca marche bien grace au test avec le MsgBox, mais dans la boucle ca me fait une erreure "incompatibilité de type" sur la ligne avec une fleche  
 
je comprends pas pk ca marche sur le test et pas dans la boucle :////////
 
help plz


Message édité par GillooZ le 10-05-2006 à 09:09:10
Reply

Marsh Posté le 09-05-2006 à 14:48:04   

Reply

Marsh Posté le 09-05-2006 à 15:19:56    

Salut Gilloz,
 
Petite question comment as tu déclaré ta variable DateLue ? Est-ce lors de premier passage que ça bug ou sur une valeur précise ?
Essayes de vérifier ce que te prends excel comme valeur pour ton .range("A"&cpt) sans le datevalue. Regardes éventuellement la fonction cdate qui permet de convertir en date.
@+

Reply

Marsh Posté le 09-05-2006 à 15:31:09    

j'ai déclaré ma variable dans le debut de la fonction comme ceci :
Dim DateLue As Date et c'est bien lors du premier passage que cela ne marche pas
et dans mon premier passage avec le test avec la fonction IsDate, ca me confirme que ce le premier DateValue marche vu ke le programme me retourne "ca marche", c'est pour ca que je comprends pas pk la premiere affectation marche et ca me dit bien ke c'est une date et dans la deuxieme qui est identique il me fait  ce message d'erreur
 

Reply

Marsh Posté le 09-05-2006 à 16:37:53    

Re,
Essayes avec DateLue=Cdate(.range("A"&cpt))
@+

Reply

Marsh Posté le 10-05-2006 à 09:05:25    

c'est bon ca marche :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed