Accueil > Forum > > > > Problème format da date après importation csv
Problème format da date après importation csv
lundi 23 juillet 2012 à 08:04:03 |
Problème format da date après importation csv

robby98800
|
Bonjour à tous,
alors voilà j'ai un souci que je n'arrive pas à comprendre. J'importe un fichier .csv qui comporte sur la première colonne des dates comme celle-ci : 11/03/2012 (soit 11 Mars 2012).
Quand le fichier est importé dans un nouveau classeur excel la date devient : 03/11/2012.
En fait je sélectionne les données qui sont comprises entre deux dates que l'utilisateur peut choisir grâce a un calendrier DTPicker dans une userform. Je ne sais pas si le souci pourrait venir d'ici, parce que le calendrier est lui au "bon format" c'est à dire 11/03/2012 (11 Mars 2012)
Je vous montre le code que j'utilise pour importer le fichier csv. (Celui ci doit etre compris dans le même dossier que le fichier excel ou l'on copie les données).
Code Visual Basic : Dim derligne1 As Long
Dim derligne2 As Long, derligne3 As Long, derligne4 As Long, derligne5 As Long, derligne6 As Byte
Dim tablo1 As Variant, tablo2 As Variant, tablo3 As Variant
Dim ecart_date As Integer
Dim I As Long, k As Long, u As Byte, f As Long
Dim Tablo() As Variant, CelSource As Variant
Dim Cel As Range
Dim ladate1 As Date, ladate2 As Date
Dim Source
Dim Temp As String
Dim TabloOK As Boolean
Dim fs
'Importer les données de plusieurs classeurs
Application.ScreenUpdating = False
Set fs = CreateObject("Scripting.FileSystemObject")
TabloOK = False
derligne2 = Sheets("releve_erreur").Range("A" & Rows.Count).End(xlUp)(2).Row 'definit la derniere ligne de la colonne A
ladate1 = DTPicker1.Value
ladate2 = DTPicker2.Value
Temp = Dir(ActiveWorkbook.Path & "\*.csv")
Do While Temp <> ""
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & Temp
With Sheets(1)
derligne3 = Cells(Rows.Count, 1).End(xlUp).Row
For Each Cel In .Range("A2:A" & derligne3)
CelSource = Split(Cel.Value, ";")
If Cel = ";;;;" Then GoTo suite:
If CelSource(0) >= ladate1 Then
If CelSource(0) <= ladate2 Then
TabloOK = True
f = f + 1
ReDim Preserve Tablo(1 To 5, 1 To f)
Tablo(1, f) = CelSource(0)
Tablo(2, f) = CelSource(1)
Tablo(3, f) = CelSource(2)
Tablo(4, f) = CelSource(3)
Tablo(5, f) = CelSource(4)
End If
End If
Next Cel
End With
suite:
ActiveWindow.Close SaveChanges:=False
If TabloOK = True Then Range(Cells(derligne2, 1), Cells(derligne2 + f - 1, 5)).Value = _
Application.WorksheetFunction.Transpose(Tablo)
Temp = Dir
Loop
MsgBox "Les données sont transférées"
Application.ScreenUpdating = True
Merci de votre aide
Robin
|
|
mardi 24 juillet 2012 à 16:51:13 |
Re : Problème format da date après importation csv

MPi
|
Salut,
Essaie comme ceci pour voir si ça règle ton problème.
Tu dois mettre une référence à Microsoft Forms 2.0 Object Library
Adapte selon tes besoins...
Code Visual Basic :
Dim strTemp As String
Dim MyDataObject As DataObject
Open NomDuFichier For Binary As #1
strTemp = Space$(LOF(1))
Get #1, , strTemp
Set MyDataObject = New DataObject
MyDataObject.SetText strTemp
nbLignes = Cells(Rows.Count, "A").End(xlUp).Row + 1
MyDataObject.PutInClipboard
Range("A" & nbLignes).PasteSpecial
Close #1
MyDataObject.Clear
Set MyDataObject = Nothing
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
|
|
mardi 24 juillet 2012 à 17:16:34 |
Re : Problème format da date après importation csv

ucfoutu
|
Bonjour,
Cela veut dire que ton fichier csv contient des strings.
Si ta colonne A est formatée en date ===>>
Code Visual Basic : For Each c In Columns("A1:A" & Rows.Count).SpecialCells(xlCellTypeConstants)
c.Value = c.Text
Next
Cet exemple démarre à la ligne 1 de la colonne A. Si autre ligne (exemple A3 ===>> change A1 par A3)
A ne lancer qu'une seule fois après l'importatiçion, hein !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
|
|
mercredi 25 juillet 2012 à 10:15:35 |
Re : Problème format da date après importation csv

robby98800
|
Bonjour,
ucfoutu, avec Code Visual Basic : For Each c In Columns("A2:A" & Rows.Count).SpecialCells(xlCellTypeConstants), ce la me renvoit une erreur d'exécution 1004: erreur défini par l'objet ou par l'application.
J'ai modifié par Code Visual Basic : For Each c In Range("A2:A" & Rows.Count).SpecialCells(xlCellTypeConstants) et la ça fonctionne !
Par contre c'est très long .. Il n'y a pas un moyen de le traiter avec un tableau(array)?
MPi merci d'avoir répondu, c'est intéressant à décortiquer mais je dois avouer que je suis quand même débutant et il me faudra m'y pencher plus dessus pour comprendre ton code. Il sert à importer et à mettre les dates au bon format ou juste changer les dates au bon format après l'importation?
|
|
mercredi 25 juillet 2012 à 10:34:19 |
Re : Problème format da date après importation csv

ucfoutu
|
Il n'y a pas un moyen de le traiter avec un tableau(array)?
Je pense que oui, mais en utilisant alors CDate sur les strings.
Je pense par ailleurs que tu gagnerais du temps avec le 1er code en le faisant( précéder d'une inhibition de l'affichage (Application.ScreenUpdating = False) à rétablir à True en sortie de ta boucle.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
|
|
mercredi 25 juillet 2012 à 11:45:51 |
Re : Problème format da date après importation csv

MPi
|
Mon bout de code sert à importer un fichier en passant par le "clipboard" d'Excel.
Je me suis rendu compte qu'Excel gérait bien les dates, entre autres, de cette façon. C'est comme si Excel prenait le temps de traduire les données lorsqu'elles passaient par le presse-papiers.
Le principe est d'ouvrir le fichier csv comme si c'était un fichier txt, de copier le tout dans le clipboard et de transférer dans Excel. Ça se passe très rapidement et ça fonctionne bien dans mon cas.
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
|
|
mercredi 25 juillet 2012 à 12:00:25 |
Re : Problème format da date après importation csv

robby98800
|
Ok merci pour vos réponse.
Je ne connaissais pas le clipboard d'Excel ,je vais me renseigner sur ça.
ucfoutu, pourrais tu me donner plus de précision quant au Cdate sur les strings, ça reste assez flou pour moi.
Merci!
|
|
mercredi 25 juillet 2012 à 12:52:23 |
Re : Problème format da date après importation csv

ucfoutu
|
ucfoutu, pourrais tu me donner plus de précision quant au Cdate sur les strings
je ne saurais faire mieux en explications que celles que tu trouveras dans ton aide VBA en ouvrant simplement sur le mot .... devine donc ===>>> cdate !
Alors ? ===>> fais-en autant, s'il te plait
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
|
|
jeudi 26 juillet 2012 à 07:42:36 |
Re : Problème format da date après importation csv

robby98800
|
Bonjour ucfoutu,
J'ai essayé avec CDate sur une seule cellule de mon tableau (parce que je n'arrivais pas à le faire avec une boucle pour tout un array), le format de la cellule n'est pas modifié (elle reste 05/08/2012 au lieu de 08/05/2012).
N'y a-t-il pas une autre manière de faire? C'est vraiment dommage parce que la solution que tu m'as proposé fonctionne très bien mais même avec un Application.ScreenUpdating = False rétablit ensuite, ça reste vraiment très long.
|
|
jeudi 26 juillet 2012 à 08:22:06 |
Re : Problème format da date après importation csv

ucfoutu
|
Montre ce que tu as écrit !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
|
|
Cette discussion est classée dans : date, long, tablo, if, celsource
Répondre à ce message
Sujets en rapport avec ce message
convert long en Date [ par sygale ]
Lancer un fichier .vbs à partir d'une date [ par Warter ]
Je cherche à lancer un fichier en .vbs à partir d'une date, pour faire un sorte de date de validité à un logiciel. Le logiciel ce lance à chaque démar
vbs démarrage à partir d'une date [ par Traftor ]
Je cherche à lancer un fichier en .vbs à partir d'une date, pour faire un sorte de date de validité à un logiciel. Le logiciel ce lance à chaque démar
Couleur de fond d'un contrôle slider [ par Leo_Robotic_Passion ]
Bonjour a tous Quelqu'un peut me dire dans un 1er temps si il y a un incon
Probleme avec les date [ par RAvin ]
Bonjour a tous , je me remet a la programmation apres un bon bout de temps et je suis bloqué sur un script VBS.Je veux qu'a une date présise s'affiche
Supprimer ligne avec date d'aujourd'hui [ par fgassmann ]
Bonjour, J'aimerais pouvoir supprimer les lignes qui contiennent la date d'aujourd'hui dans une certaine colonne,voici mon codeSub Macro1() Dim i As
Besoin d'aide pour mon projet VBA [ par Eleasias ]
Je suis novice comme certains le savent déjà et je dois faire une macro VBA dans le cadre de mon stage.Quelques un d'entre vous m'ont déjà aidé et je
Récupération des variables [ par Dominike ]
Bonjour à tous !Je savais que je me lançais dans un projet au-dessus de mes compétences, mais c'est à mon avis comme cela comme apprend.Bref, après av
problème de date access et vb.net [ par thierry la fronde ]
Bonjour à tousJe voudrais comparer deux dates :une venant de ma base access (= à date.now)une autre étant une variable date = à date.now les deux dat
dépassement de capacité [ par amita ]
j'ai un control activex contient une Hscroll et Vscroll je charge une image de grande dimension, j'ai un méssage d'erreur de dépassement de capacité
Livres en rapport
|
Derniers Blogs
ETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 0ETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 0 par Philess
L'extensibilité du Team Web Access
Le Web Access (site d'équipe) de Team Foundation Server a été complètement réécrit dans la version 2012 avec pas moins de 400.000 lignes de JavaScript. Ce nouveau modèle a été pensé pour offrir de grandes...
Cliquez pour lire la suite de l'article par Philess SIMULER FACILEMENT L'ENVOI DE MAILSIMULER FACILEMENT L'ENVOI DE MAIL par JeremyJeanson
il m'a été demandé, à plusieurs reprises, comment je faisais pour simuler l'envoi de mail lors de mes démos de Workflow Foundation. Ma solution est plutôt simple : j'utilise la configuration par défaut du SmtpClient et j'oriente les mails vers un dossier ...
Cliquez pour lire la suite de l'article par JeremyJeanson VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES !VOTEZ POUR LE TOP 10 DES INFLUENCEURS SHAREPOINT FRANCOPHONES ! par Patrick Guimonet
Si ce n'est déjà fait (comme plus de 600 personnes déjà), il est encore temps de voter pour le concours TOP 10 des influenceurs SharePoint francophones ! Il est organisé par harmon.ie et accessible ici : http://harmon.ie/top-...
Cliquez pour lire la suite de l'article par Patrick Guimonet [CONF'SHAREPOINT] DERNIER RAPPEL ! :-)[CONF'SHAREPOINT] DERNIER RAPPEL ! :-) par Patrick Guimonet
La Conf'SharePoint en chiffres c'est : 3 jours de SharePoint ! 4 parcours et 60 sessions 17 partenaires représentant toutes les fac...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Logiciels
Easy-Planning (4.5.0.11)EASY-PLANNING (4.5.0.11)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté a... Cliquez pour télécharger Easy-Planning CVEasy (3.1.0.51)CVEASY (3.1.0.51)PHMSD-CVEasy est un logiciel d'aide à la rédaction de CV d'une simplicité déconcertante.
PHMSD-C... Cliquez pour télécharger CVEasy LettresFaciles 2011 (8.6.0.31)LETTRESFACILES 2011 (8.6.0.31)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011 sDEVIS-FACTURES vlPRO (8.4.2.62)SDEVIS-FACTURES VLPRO (8.4.2.62)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO Devis-Factures PHMSD (2.1.0.11)DEVIS-FACTURES PHMSD (2.1.0.11)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD
|