[R] Problème de date avec excel

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Eldes
Niveau 2
Niveau 2
Messages : 29
Enregistré le : lun. 20 déc. 2010 13:08
Status : Hors ligne

[R] Problème de date avec excel

#1

Message par Eldes »

Bonjour.

J aimerai rentrer des information sous SAP a partir d' un fichier excel. Tous fonctionne bien sauf pour les dates et les heures. En effet la cellule excel et en forme date et lorsque je la met sous SAP a l aide d'une variable elle me donne un chiffre incohérent. Après quelque recherche j ai déduit que SAP ne prends que les cellules texte. Comment pourrais je modifier la cellule qui as la forme 20/01/2011 (forme date) par 20012011 (forme texte).

Merci d'avance.
Modifié en dernier par Eldes le mer. 26 janv. 2011 14:43, modifié 1 fois.
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Problème de date avec excel

#2

Message par zeshrek »

il suffit de faire un stringsplit sur la date puis d'accoler les éléments pour en faire une date sans les '/' :

Code : Tout sélectionner

$date="20/01/2011"
$datesplit=stringsplit($date,"/")

$date=$datesplit[1]&$datesplit[2]&$datesplit[3]

msgbox(0,"",$date)
Si vis pacem para bellum
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Problème de date avec excel

#3

Message par jchd »

$date = '20/01/2011'

$date = StringReplace($date, '/', '')
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] Problème de date avec excel

#4

Message par zeshrek »

Argl !!! Comme une quiche j'ai éssayé stringdelete au lieu de stringreplace, et forcément ca marchait pas ! :?
Bon, on va dire que ma solution offre l'avantage de pouvoir mettre la date dans le sens AAAAMMJJ si nécéssaire :roll:
Si vis pacem para bellum
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Problème de date avec excel

#5

Message par jchd »

$date = '20/01/2011'
$dateISO = StringRegExpReplace($date, '(\d\d)\/(\d\d)\/(\d\d\d\d)', '$3/$2/$1')

Ok ce n'est peut-être pas forcément le plus efficace montre en main (à cause de la compilation de la regexp), et encore je n'en suis pas certain. Pas important sauf si 10000 utilisations par seconde.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Eldes
Niveau 2
Niveau 2
Messages : 29
Enregistré le : lun. 20 déc. 2010 13:08
Status : Hors ligne

Re: [..] Problème de date avec excel

#6

Message par Eldes »

Après de multiple essais voilà ou j en arrive:
J ai lu mon résultat avec une message box et pour la date j obtiens le message suivant : 201101200000. Donc j ai vérifié dans mon tableau excel et l heure est a 00:00 ce qui correspond au quatre derniers 0.
Je pense que je dois changer la forme de la date que j ai mis dans manvataible $date et suprimer l heure.

J ai donc essayer avec

$date = _excelreadcell($feuille,35,5)
$date = _datetimeformat($date,1)

Msgbox(1,"test","" & $date)

Et la boite m indique rien.

Pouvez m aider encore s il vous plait?
Avatar du membre
FernandG
Membre émérite
Membre émérite
Messages : 194
Enregistré le : mar. 15 avr. 2008 21:50
Localisation : Picardie
Status : Hors ligne

Re: [..] Problème de date avec excel

#7

Message par FernandG »

Bonjour,

En reprenant votre exemple et plus simplement car sans modification de votre fichier Excel :

Code : Tout sélectionner

$date = "201101200000"
$date = StringLeft($date, 8)

Msgbox(1,"test","" & $date)
Bonna journée.
Eldes
Niveau 2
Niveau 2
Messages : 29
Enregistré le : lun. 20 déc. 2010 13:08
Status : Hors ligne

Re: [..] Problème de date avec excel

#8

Message par Eldes »

Merci sa me sera d' une grande utilité par contre la date est de la forme yyyymmdd et il faudrait qu elle soit de la forme ddmmyyyy

Merci d' avance
Avatar du membre
FernandG
Membre émérite
Membre émérite
Messages : 194
Enregistré le : mar. 15 avr. 2008 21:50
Localisation : Picardie
Status : Hors ligne

Re: [..] Problème de date avec excel

#9

Message par FernandG »

Dans ce cas, on change de "méthode", à la jchd :wink:

Code : Tout sélectionner

$date = "201101200000"
$date = StringRegExpReplace($date, '(\d{4})(\d{2})(\d{2}).+', '$3$2$1')

Msgbox(1,"test","" & $date)
Eldes
Niveau 2
Niveau 2
Messages : 29
Enregistré le : lun. 20 déc. 2010 13:08
Status : Hors ligne

Re: [..] Problème de date avec excel

#10

Message par Eldes »

Sa fonctionne merci beaucoup
Répondre