[VBA] concaténer une chaîne de caractère dans une date

concaténer une chaîne de caractère dans une date [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 19-08-2008 à 09:05:25    

Bonjour à tous,
 
j'aimerais concaténer dans une fonction VBA/access une chaîne de caractère dans une date. Je vous montre le bout de code que j'ai tenté de faire et qui forcément ne marche pas (trop facile sinon ^^) :
 
        test = #01/01/# & (année_en_cours + 1)
             
            lol = Classeur.ActiveSheet.Cells(2, i)
             
         
            While lol <> test
 
            //traitement
 
            i = i + 1
 
 
            Wend
 

 
Comment pourrais-je faire pour que 'test' ait la valeur #01/01/2009# par exemple quand année_en_cours vaut 2008 ??
 
Il me faut absolument test au format date car je le compare à une variable qui, elle , est au format date.
 
Merci d'avance ;)

Reply

Marsh Posté le 19-08-2008 à 09:05:25   

Reply

Marsh Posté le 19-08-2008 à 10:35:38    

Que veut dire "qui ne marche pas trop" ?
Peut-être faudrait-il essayer  

test = "#01/01/" & cstr(année_en_cours + 1) & "#"


Reply

Marsh Posté le 19-08-2008 à 10:41:49    

je veux dire par là que çà marchait pas du tout en fait ^^
 
Sinon je vais tester pour ce que tu me dit de faire ;)

Reply

Marsh Posté le 19-08-2008 à 10:55:49    

Et bien en fait çà ne marche pas, lorsque je lance l'éxécution et que je regarde la valeur de test çà me met "#01/01/2009#" alors que 'lol' est au format 01/01/2009.
 
La différence c'est que l'un est un chaîne de caractère (car entre " " ) et l'autre, lol donc, est un format date récupéré dans un fichier excel.
 
Donc quand je compare les deux çà ne donne pas égalité et je sors jamais de ma boucle :/

Reply

Marsh Posté le 19-08-2008 à 11:01:02    

Il faut peut-être convertir en date avec

test = CDate("#01/01/" & cstr(année_en_cours + 1) & "#" )

Reply

Marsh Posté le 19-08-2008 à 11:19:55    

Ah çà marche effectivement.
 
Voici le code exact pour que çà soit bon, si jamais quelqu'un a besoin ^^
 
test = CDate(Format("01/01/" & CStr(année_en_cours + 1), "dd/mm/yyyy" ))
 
Merci bcp pour ton temps olivthill ;)

Reply

Sujets relatifs:

Leave a Replay

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