Rechercher : dans
Par :

[VBA]Convertir un string en date

Dernière réponse le 18 mar 2009 à 11:26:38 greenthumb, le 18 mar 2009 à 10:44:27 
 Signaler ce message aux modérateurs

Bonjour,

j'ai un problème avec les dates en vba...

Admettons que j'ai un string st = "12/03/2009" et que je souhaite le convertir en Date...

quelqu'un saurait-il comment faire ?

PS : je suis novice en VBA

Cordialement,

green

Configuration: Windows 2000
Firefox 3.0.7

Meilleures réponses pour « [VBA]Convertir un string en date » dans :
VB6/VBA Transformer nombre en texte VoirIntroduction Préliminaires VB6 Dans le module de la forme Dans Module1 Introduction La fonction peut transformer des nombres de l'unité jusqu'à 999 tera. Prend en compte la syntaxe pour le français de France, de Belgique et de...
Fichier DAT VoirFormat DAT Un fichier DAT Un fichier .dat est un fichier de données (.DAT signifie data). En général, il s'agit d'un fichier binaire, créé par un programme et utilisable uniquement par ce programme, ce qui signifie qu'il n'est pas censé être ouvert...

1

lermite222, le 18 mar 2009 à 10:52:45

Bonjour,
Faut rien faire, c'est d'office une date avec lequel tu peu travailler

A+ L'expérience instruit plus sûrement que le conseil. (André G­ide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas for­cément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

2

lami20j, le 18 mar 2009 à 10:53:03

Salut,

Il y a la fonction CDate 106485010510997108

Répondre à lami20j

3

greenthumb, le 18 mar 2009 à 10:59:59

Re,

merci beaucoup pour la fonction CDate, c'est ce qu'il me fallait ;)

lermite, voulez-vous dire qu'un string ayant la forme "12/02/2009" peut ensuite être directement comparé a une variable au format date ?

Répondre à greenthumb

7

lermite222, le 18 mar 2009 à 11:14:52

Test cette petite sub

Sub Essais()
Dim D As String
Dim DD As Date
    D = "10/10/2008"
    DD = "11/10/2008"
    M = DateDiff("d", D, DD)
    MsgBox "le nombre de jour entre le " & D & " et " & DD & " est de " & M & " jour(s)"
End Sub

A+ L'expérience instruit plus sûrement que le conseil. (André Gide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

4

lermite222, le 18 mar 2009 à 11:08:19

Seulement utile quand...
MyDate = "12 février 1969" ' Définit la date.
MyShortDate = CDate(MyDate) ' Convertit en type Date.
Sinon, les dates écrite en littéral 12/12/2008 par exemple, sont d'office considérée comme une date. L'expérience instruit plus sûrement que le conseil. (André Gide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

5

greenthumb, le 18 mar 2009 à 11:13:02

D'accord je ne savais pas... c'est toujours bon à savoir :)

Merci bonne journée ;)

Répondre à greenthumb

6

lami20j, le 18 mar 2009 à 11:13:22

Re,

Sinon, les dates écrite en littéral 12/12/2008 par exemple, sont d'office considérée comme une date.
Oui, c'est bien ça ;-) 106485010510997108

Répondre à lami20j

8

lami20j, le 18 mar 2009 à 11:17:28

Re,

Aussi pour test

Sub string2date()
    Dim st As String, st2 As String, st3 As Date
    Dim dt As Date, dt2 As Date, dt3 As Date
    st = "12/03/2009"
    dt = CDate(st)
    If st = dt Then
        MsgBox "ok"
    Else
        MsgBox "non"
    End If
    
    st2 = "12 février 1969"
    dt2 = CDate(st2)
    If st2 = dt2 Then
        MsgBox "ok 2"
    Else
        MsgBox "non 2"
    End If
    
    st3 = "18/03/2009"
    dt3 = CDate(st3)
    MsgBox DateDiff("d", st2, dt3)
    MsgBox DateDiff("d", dt2, dt3)
End Sub
106485010510997108

Répondre à lami20j

9

lermite222, le 18 mar 2009 à 11:23:38

Re,
Et pour être complet, Cdate (ou ancienement CVdate) peu aussi être nécessaire quand il y a une extraction de date à partir d'un BD ou d'un fichier texte/csv
A+ L'expérience instruit plus sûrement que le conseil. (André G­ide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas for­cément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

10

 greenthumb, le 18 mar 2009 à 11:26:38

En effet ça marche... super !!

Merci beaucoup :)

Répondre à greenthumb