Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/05/2011, 15h20   #1
Membre du Club
 
Homme Jérémy B-ACD-AD- IJ
Étudiant
Inscription : avril 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Jérémy B-ACD-AD- IJ
Âge : 21
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 106
Points : 52
Points : 52
Par défaut String to Date

Bonjour,

J'ai besoin de définir une plage de date pour une recherche.
Afin d'éviter une saisie érronnée ou une recherche laborieuse, j'ai choisi de faire une liste pour les années et une pour les mois.

Mon problème survient au moment de mettre le String au format Date.
Voici ma fonction :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Public Function definirDateAnt()
    ' Declarer les variables
        Dim D As Date
        Dim mois As String
    ' Determiner le moi
       Select Case (Form_FormulaireHistRes.ListeMoisAnt.Value)
                Case "Janvier":
                    mois = "01"
                Case "Fevrier":
                    mois = "02"
                Case "Mars":
                    mois = "03"
                Case "Avril":
                    mois = "04"
                Case "Mai":
                    mois = "05"
                Case "Juin":
                    mois = "06"
                Case "Juillet":
                    mois = "07"
                Case "Août":
                    mois = "08"
                Case "Septembre":
                    mois = "09"
                Case "Octobre":
                    mois = "10"
                Case "Novembre":
                    mois = "11"
                Case "decembre":
                    mois = "12"
        End Select
    ' Assigner la date
        D = "#01-" & mois & "-" & Form_FormulaireHistRes.ListeDateAnt.Value & "#"
 
    ' Retour de la fonction
        definirDateAnt = D
End Function
Mais ça ne marche pas (sinon je ne viendrais pas vous embetter)...
Pouvez vous m'aider svp
pikameuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 16h42   #2
Membre actif
 
Avatar de Ric500
 
Homme Richard
Ingénieur développement logiciels
Inscription : août 2004
Messages : 166
Détails du profil
Informations personnelles :
Nom : Homme Richard
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : août 2004
Messages : 166
Points : 157
Points : 157
Salut !

As-tu essayé comme çà ?

Code :
1
2
3
    ' Assigner la date
        D = "01-" & mois & "-" & Form_FormulaireHistRes.ListeDateAnt.Value
        D=DateValue(D)
(note que j'ai enlevé les "#")
Ric500 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 18h28   #3
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 615
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 615
Points : 30 959
Points : 30 959
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Tu utilises mal ta fonction, le mieux est de l'appeler en passant en paramètre tes données.

Voici ta fonction revue et allégée :

Code :
1
2
3
Public Function definirDateAnt(strMois As String, strAnnee As String) As Date
        definirDateAnt = DateValue("01/" & strMois & "/" & strAnnee)
End Function
Si on tape :

Code :
definirDateAnt("janvier","2011")
On obtient : 01/01/2011

Utilises là en passant tes champs de formulaires en paramètre de cette manière

Code :
definirDateAnt(Form_FormulaireHistRes.ListeMoisAnt.Value,Form_FormulaireHistRes.ListeDateAnt.Value)
Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h21.


 
 
 
 
Partenaires

Hébergement Web