Transformer une date

Résolu/Fermé
trustpol Messages postés 36 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 25 avril 2008 - 7 avril 2008 à 17:52
limon23 Messages postés 8 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 21 septembre 2008 - 28 juil. 2008 à 11:09
Bonjour


je travaille à partir d'un export d'un logiciel et je recois les dates de cette facon 20080712 (tout est coller)

et jaimerais pouvoir les retravailler afin de les avoir sous cette forme 12/07/2008

estce que quelqu'un peut m'aider ça fait plus d'une semaine que je me galère la dessus!!!

Merci de votre aide

Cordialement

4 réponses

cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
7 avril 2008 à 19:36
Bonsoir,

Si les dates t'arrivent toutes sous le même format, tu mets chacune d'elles dans un tableau et tu extrais un par un pour chacun des 3 groupes les caractères (AAAAMMJJ) que tu transformes, en jonglant un peu avec les indices, dans un second tableau en JJ/MM/AAAA.

Au fait, c'est en quel langage ?
0
trustpol Messages postés 36 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 25 avril 2008
7 avril 2008 à 20:41
merci de ton aide

je travaillle en VBA.

J'ai pas tout a fait compris ce que tu voulai dire est ce que tu pourais me donner un exemple

Je te remercie

Cordialement
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
7 avril 2008 à 21:09
Bonsoir,

Je ne connnais pas Visual Basic, est-ce que tu connais le C ?
0
trustpol Messages postés 36 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 25 avril 2008
7 avril 2008 à 21:47
et non pas du tout

en plus mon probleme doit obligatoirement être résolu sur VBA

merci quand meme de ton aide

Cordialement
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
7 avril 2008 à 21:57
Bonsoir,

Si le langage utilisé ne dispose pas d'ordres de manipulation de chaînes de caractères (telle SUBSTRing présente dans de nombreux langages), il est alors nécessaire d'utiliser les tableaux :
Sur le principe un tableau de caractères est représenté par une suite de variables contigùes de un caractère (de même type) représentant chacune une "case". Chaque case peut être référencée, atteinte par une variable numérique (un indice) contenant le numéro (en C, 0 à n) du "rang" à atteindre. C'est, dans notre cas, une chaîne de caractères accessibles chacun à l'unité grâce à un indice.

Quelque soit le langage et l'organisation retenue, dans ton cas tu dois être en mesure d'atteindre chaque caractère, (ou groupe de caractères, si tu disposes d'ordre du type SUBSTRing) de manière à les extraire de la chaîne "source" afin de les disposer aux bons endroits dans la chaîne "cible".

Exemple :
date_source  = 20080712   ==>  date_cible = 12/07/2008
illustration avec une commande théorique SUBSTR (nomvar, pos, long)
Extraction : 
AAAA_var = SUBSTR (date-source, 1, 4)                 ==>  AAAA_var contient  2008   
MM_var    = SUBSTR (date-source, 5,2)                  ==>  MM_var   contient  07  
JJ_var      = SUBSTR (date-source, 7,2)                  ==>  JJ_var   contient  12  
Concaténation : + ici signifie concaténer (mettre bout-à-bout).
date_cible = JJ_var+"/"+ MM_var +"/" + AAAA_var         ==> date_cible  = 12/07/2008  

0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
7 avril 2008 à 21:57
Bonsoir,

Si le langage utilisé ne dispose pas d'ordres de manipulation de chaînes de caractères (telle SUBSTRing présente dans de nombreux langages), il est alors nécessaire d'utiliser les tableaux :
Sur le principe un tableau de caractères est représenté par une suite de variables contigùes de un caractère (de même type) représentant chacune une "case". Chaque case peut être référencée, atteinte par une variable numérique (un indice) contenant le numéro (en C, 0 à n) du "rang" (de la case) à atteindre. C'est, dans notre cas, une chaîne de caractères accessibles chacun à l'unité grâce à un indice.

Quelque soit le langage et l'organisation retenue, dans ton cas tu dois être en mesure d'atteindre chaque caractère, (ou groupe de caractères, si tu disposes d'ordre du type SUBSTRing) de manière à les extraire de la chaîne "source" afin de les disposer aux bons endroits dans la chaîne "cible".

Exemple :
date_source  = 20080712   ==>  date_cible = 12/07/2008
illustration avec une commande théorique SUBSTR (nomvar, pos, long)
Extraction : 
AAAA_var = SUBSTR (date-source, 1, 4)                 ==>  AAAA_var contient  2008   
MM_var    = SUBSTR (date-source, 5,2)                  ==>  MM_var   contient  07  
JJ_var      = SUBSTR (date-source, 7,2)                  ==>  JJ_var   contient  12  
Concaténation : + ici signifie concaténer (mettre bout-à-bout).
date_cible = JJ_var+"/"+ MM_var +"/" + AAAA_var         ==> date_cible  = 12/07/2008  

0
trustpol Messages postés 36 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 25 avril 2008
8 avril 2008 à 11:55
Bonjour,

Suite à notre conversation d'hier, j'ai réusii a obtenir mes dates dans 3 cellules différentes :


A1 A2 A3
12 03 2007

mais je souhaiterais en A4 avoir la date sous cette forme 12/03/2007 et c'est la que sa coince imposible de récupérer

mes autres cellules.

As tu une idée???

Cordialement
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131 > trustpol Messages postés 36 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 25 avril 2008
8 avril 2008 à 12:54
--Bonjour,

Comme je l'ai illusré précédemment il faut concaténer (mettre bout-à-bout) dans une nouvelle variable (A4) les 3 variables (A1,A2,A3), en séparant A1 de A2 et A2 de A3 avec un slash (/).

Tu dois disposer en VB d'un ordre qui te permet de faire cela facilement. Cherche le mot concaténation dans tes docs
, tu devrais trouver facilement.

Cordialement.

Cchristian.
0
limon23 Messages postés 8 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 21 septembre 2008 > trustpol Messages postés 36 Date d'inscription mardi 1 avril 2008 Statut Membre Dernière intervention 25 avril 2008
28 juil. 2008 à 11:09
Bonjour,
Est ce que tu peux me dire comment t'a reussi à faire ça?
(les separer dans les colonnes)
Merci d'avance
0