[R] Problème de date avec excel
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Problème de date avec excel
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.
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.
- zeshrek
- 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
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
- jchd
- 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
$date = '20/01/2011'
$date = StringReplace($date, '/', '')
$date = StringReplace($date, '/', '')
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
- zeshrek
- 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
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
Bon, on va dire que ma solution offre l'avantage de pouvoir mettre la date dans le sens AAAAMMJJ si nécéssaire
Si vis pacem para bellum
- jchd
- 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
$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.
$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é.
Re: [..] Problème de date avec excel
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?
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?
- FernandG
- 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
Bonjour,
En reprenant votre exemple et plus simplement car sans modification de votre fichier Excel :Bonna journée.
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)Re: [..] Problème de date avec excel
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
Merci d' avance
- FernandG
- 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
Dans ce cas, on change de "méthode", à la jchd
Code : Tout sélectionner
$date = "201101200000"
$date = StringRegExpReplace($date, '(\d{4})(\d{2})(\d{2}).+', '$3$2$1')
Msgbox(1,"test","" & $date)Re: [..] Problème de date avec excel
Sa fonctionne merci beaucoup

