Accueil > > > GESTION DE DATE
GESTION DE DATE
Information sur la source
Description
Bonjour à tous, Voila, dévellopant un Répertoire d'adresse SQL que je voudrais le plus pratique possible, je me suis rendu compte que la saisie des dates (de naissance en l'occurence)pouvait être vite pénible par la nécessité de respecter un format xx/xx/xx ou xx/xx/xxxx avec les séparateurs. J'ai donc dévelloper une fonction (niveau débutant, que je suis)qui assure un format identique quelques soit la saisie,donc: un 22?10@1972 ou 22101972 donnera 22/10/1972 un 22a10%72 ou 221072 donnera 22/10/72 Voilà
Source
- Function ConverDate(DateN As String) As String
-
- Dim LongN As Integer
- Dim Index As Integer
- Dim Coupe As String
- Dim DNais As String
-
- LongN = Len(DateN)
- If LongN = 0 Then Exit Function
-
- ' On ne retient que les chiffres
- For Index = 1 To LongN
- 'On extrait un caractere
- Coupe = Right(DateN, 1)
- 'on verifie qu'il s'agit d'un chiffre
- If Asc(Coupe) > 47 And Asc(Coupe) < 58 Then
- DNais = Coupe & DNais
- End If
- 'on soustrait le caractere extrait
- DateN = Left(DateN, LongN - Index)
- Next Index
-
- ' On verifie le format du resultat '*******************
- LongN = Len(DNais)
- If LongN = 6 Then ' format 22/10/72
- GoTo Reconstruction6
- Else
- If LongN = 8 Then
- GoTo Reconstruction8 ' format 22/10/1972
- Else
- GoTo erreur
- End If
- End If
-
- Reconstruction6: 'pour les date au format 01/01/01*******************
- DateN = ""
- For Index = 2 To LongN Step 2
- 'On extrait deux caracteres
- Coupe = Right(DNais, 2)
- If Len(DateN) < 2 Then
- 'On recontruit l'année au format voulu
- DateN = Coupe
- Else
- If Len(DateN) = 2 Then 'Gestion du mois
- If Val(Coupe) = 0 Or Val(Coupe) > 12 Then GoTo erreur
- 'On recontruit le mois
- DateN = Coupe & "/" & DateN
- Else 'Gestion du jour
- If Val(Coupe) = 0 Or Val(Coupe) > 31 Then GoTo erreur
- 'On recontruit le jour
- DateN = Coupe & "/" & DateN
- End If
- End If
- 'on supprime de la date source la partie extraite
- DNais = Left(DNais, LongN - Index)
- Next Index
- ConverDate = DateN
-
- Exit Function
-
- Reconstruction8: 'pour les date au format 01/01/1901 ***************
- DateN = ""
- For Index = 2 To LongN Step 2
- 'On extrait deux caracteres
- Coupe = Right(DNais, 2)
- If Len(DateN) < 4 Then
- 'On recontruit l'année au format "1990"
- DateN = Coupe & DateN
- Else
- If DateN > Year(Date) Then GoTo erreur2
- If Len(DateN) = 4 Then 'Gestion du mois
- If Val(Coupe) = 0 Or Val(Coupe) > 12 Then GoTo erreur
- 'On recontruit le mois
- DateN = Coupe & "/" & DateN
- Else 'Gestion du jour
- If Val(Coupe) = 0 Or Val(Coupe) > 31 Then GoTo erreur
- 'On recontruit le jour
- DateN = Coupe & "/" & DateN
- End If
-
- End If
- 'on supprime de la date source la partie extraite
- DNais = Left(DNais, LongN - Index)
- Next Index
- 'On renvoi le resultat
- ConverDate = DateN
-
- Exit Function
- erreur: '************************************************************
- erreur = MsgBox("Le format de la date n'est pas valide.")
- erreur2: '***********************************************************
- erreur2 = MsgBox("Ce jour n'est pas encore arrivé.")
-
- End Function
Function ConverDate(DateN As String) As String
Dim LongN As Integer
Dim Index As Integer
Dim Coupe As String
Dim DNais As String
LongN = Len(DateN)
If LongN = 0 Then Exit Function
' On ne retient que les chiffres
For Index = 1 To LongN
'On extrait un caractere
Coupe = Right(DateN, 1)
'on verifie qu'il s'agit d'un chiffre
If Asc(Coupe) > 47 And Asc(Coupe) < 58 Then
DNais = Coupe & DNais
End If
'on soustrait le caractere extrait
DateN = Left(DateN, LongN - Index)
Next Index
' On verifie le format du resultat '*******************
LongN = Len(DNais)
If LongN = 6 Then ' format 22/10/72
GoTo Reconstruction6
Else
If LongN = 8 Then
GoTo Reconstruction8 ' format 22/10/1972
Else
GoTo erreur
End If
End If
Reconstruction6: 'pour les date au format 01/01/01*******************
DateN = ""
For Index = 2 To LongN Step 2
'On extrait deux caracteres
Coupe = Right(DNais, 2)
If Len(DateN) < 2 Then
'On recontruit l'année au format voulu
DateN = Coupe
Else
If Len(DateN) = 2 Then 'Gestion du mois
If Val(Coupe) = 0 Or Val(Coupe) > 12 Then GoTo erreur
'On recontruit le mois
DateN = Coupe & "/" & DateN
Else 'Gestion du jour
If Val(Coupe) = 0 Or Val(Coupe) > 31 Then GoTo erreur
'On recontruit le jour
DateN = Coupe & "/" & DateN
End If
End If
'on supprime de la date source la partie extraite
DNais = Left(DNais, LongN - Index)
Next Index
ConverDate = DateN
Exit Function
Reconstruction8: 'pour les date au format 01/01/1901 ***************
DateN = ""
For Index = 2 To LongN Step 2
'On extrait deux caracteres
Coupe = Right(DNais, 2)
If Len(DateN) < 4 Then
'On recontruit l'année au format "1990"
DateN = Coupe & DateN
Else
If DateN > Year(Date) Then GoTo erreur2
If Len(DateN) = 4 Then 'Gestion du mois
If Val(Coupe) = 0 Or Val(Coupe) > 12 Then GoTo erreur
'On recontruit le mois
DateN = Coupe & "/" & DateN
Else 'Gestion du jour
If Val(Coupe) = 0 Or Val(Coupe) > 31 Then GoTo erreur
'On recontruit le jour
DateN = Coupe & "/" & DateN
End If
End If
'on supprime de la date source la partie extraite
DNais = Left(DNais, LongN - Index)
Next Index
'On renvoi le resultat
ConverDate = DateN
Exit Function
erreur: '************************************************************
erreur = MsgBox("Le format de la date n'est pas valide.")
erreur2: '***********************************************************
erreur2 = MsgBox("Ce jour n'est pas encore arrivé.")
End Function
Conclusion
Voila,
C'est la premiere source que je poste, n'hésitez pas à être critique, et me dire comment vous auriez géré ou amélioré ça.
J'attends vos avis ...
Historique
- 21 novembre 2007 11:19:05 :
- oubli
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
modification de la date d'un fichier .vbx [ par Cyrille ]
Salut, je voudrais savoir comment il est possible de changer la date d'un fichier compilé avec VB (grid.vbx du 25/03/94). Il faut garder le même fichi
base de données sous excel [ par guingoy ]
Bonjour,Voilà, je développe un petit programe sous excel avec VB6.A l'aide d'un MSform (notamment un textbox) j'aimerais alimenter une base de données
Type Date [ par TheDude ]
je suis a la recherche d'un type qui me permette de récupérerune variable capable de stocker des valeurs du genre 10:20, commele type heure abrégé, sa
Conversion de date [ par nico ]
Je souhaite convertir une date au format ss/aaaa en format jj/mm/aaaa.Exemple : la date 35/0000 correspond au 28/08/2000Merci d'avance
Comparer 2 périodes de date [ par amstel ]
J'ai un problème que je n'arrive pas à résoudre :Je dois comparer 2 périodes et renvoyer un message d'erreur si ces périodes se chevauchent. Comment f
Requête date [ par nico ]
En fait je dois comparer des dates insérer à partir de trois menus déroulants (un pour le jour, un mpur le mois, un pour l'année) placés dans un d'un
Format Date [ par Altic ]
Comment modifier le format date, car quand j'utilise isdate, que je met le jj/mm/aaaa et mm/jj/aaaa pour lui c'est pareil.Exemple:31/12/2000 et 12/31/
Comparer 2 périodes de date [ par Amstel ]
Est-ce que quelqu'un peut me venir en aide sur ce problème : je veux comparer 2 périodes de dates pour savoir si celles-ci se chevauchent.Par exemple
Requete SQL [ par funtay ]
bonjour, j'ai un problème de syntaxe dans une requete SQL.En fait ,j'ai une date de début (c'est un maskedbox( txt_datedeb)) et une date de fin (c'est
toujours pb de requete SQL [ par funtay ]
salut à tous!!!J'ai un problème avec la syntaxe d'une requete.J'ai 2 contrôles(maskedbox) qui correspondent à une date de début (datedebut) et une dat
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|