Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Format Date exporté d'une base MySQL

6 réponses
Avatar
ManBas
Bonsoir à tous,
Je récupère des dates à partir d'une base MySQL (avec PHPMyAdmin), en les
exportant au format Excel2000.
La valeur dans la colonne A est (par exemple) 2006-10-26 pour le 26 octobre
2006.
Dans Excel 2000 j'ai écris ce code pour recréer une colonne dont les valeurs
pourront être reconnues comme dates (afin de regrouper dans un TCD):

Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Dim cell, myAnnee, myMois, myJour
For Each cell In Range("A:A")
If cell.Value <> "" Then
cell.Select
myAnnee = Left(cell, 4)
myMois = Mid(cell, 6, 2)
myJour = Right(cell, 2)
ActiveCell.Offset(0, 1).Value = myJour & "/" & myMois & "/" & myAnnee
End If
Next

Mais les apparences sont trompeuses!
Bien que le contenu des cellules de la colonne B soit d'un aspect
satisfaisant:
- le format Date n'est pas reconnu spontanément
- en sélectionnant le format pour toute la colonne, certaines lignes se
convertissent et d'autres pas! (???)
- certaines cellules se formatent en date mais en inversant le mois et le
jour.

Qu'en pensez-vous?
Merci de votre aide.

6 réponses

Avatar
FxM
Bonsoir,


Dateserial !

ActiveCell.Offset(0, 1).Value = dateserial(myAnnee,myMois,myJour)

Si dateserial a absolument besoin d'entiers, tu peux faire :
myAnnee = Left(cell, 4) * 1 (idem pour les autres)

@+
FxM


Bonsoir à tous,
Je récupère des dates à partir d'une base MySQL (avec PHPMyAdmin), en les
exportant au format Excel2000.
La valeur dans la colonne A est (par exemple) 2006-10-26 pour le 26 octobre
2006.
Dans Excel 2000 j'ai écris ce code pour recréer une colonne dont les valeurs
pourront être reconnues comme dates (afin de regrouper dans un TCD):

Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Dim cell, myAnnee, myMois, myJour
For Each cell In Range("A:A")
If cell.Value <> "" Then
cell.Select
myAnnee = Left(cell, 4)
myMois = Mid(cell, 6, 2)
myJour = Right(cell, 2)
ActiveCell.Offset(0, 1).Value = myJour & "/" & myMois & "/" & myAnnee
End If
Next

Mais les apparences sont trompeuses!
Bien que le contenu des cellules de la colonne B soit d'un aspect
satisfaisant:
- le format Date n'est pas reconnu spontanément
- en sélectionnant le format pour toute la colonne, certaines lignes se
convertissent et d'autres pas! (???)
- certaines cellules se formatent en date mais en inversant le mois et le
jour.

Qu'en pensez-vous?
Merci de votre aide.




Avatar
Trirème
Bonsoir ManBas
Petite précaution à prendre.
Il me semble que MySQL permet d'utiliser des dates incomplètes, genre : 00/03/2005 si on
ne connaît pas précisément le jour, ou encore 00/00/2005 si on ne connaît que l'année.
Si l'application ne fait pas ce genre de contrôle, il faudrait en avertir Excel qui risque
de surprendre son lecteur.

'scuzez si chuis HS

Cordialement,
Trirème

Bonsoir à tous,
Je récupère des dates à partir d'une base MySQL (avec PHPMyAdmin), en les
exportant au format Excel2000.
La valeur dans la colonne A est (par exemple) 2006-10-26 pour le 26 octobre
2006.
Dans Excel 2000 j'ai écris ce code pour recréer une colonne dont les valeurs
pourront être reconnues comme dates (afin de regrouper dans un TCD):

Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Dim cell, myAnnee, myMois, myJour
For Each cell In Range("A:A")
If cell.Value <> "" Then
cell.Select
myAnnee = Left(cell, 4)
myMois = Mid(cell, 6, 2)
myJour = Right(cell, 2)
ActiveCell.Offset(0, 1).Value = myJour & "/" & myMois & "/" & myAnnee
End If
Next

Mais les apparences sont trompeuses!
Bien que le contenu des cellules de la colonne B soit d'un aspect
satisfaisant:
- le format Date n'est pas reconnu spontanément
- en sélectionnant le format pour toute la colonne, certaines lignes se
convertissent et d'autres pas! (???)
- certaines cellules se formatent en date mais en inversant le mois et le
jour.

Qu'en pensez-vous?
Merci de votre aide.




Avatar
ManBas
P-a-r-f-a-i-t !
Merci ++++ FxM.
T-o-u-t est réglé d'un coup !!!

"FxM" a écrit dans le message de news:

Bonsoir,


Dateserial !

ActiveCell.Offset(0, 1).Value = dateserial(myAnnee,myMois,myJour)

Si dateserial a absolument besoin d'entiers, tu peux faire :
myAnnee = Left(cell, 4) * 1 (idem pour les autres)

@+
FxM


Bonsoir à tous,
Je récupère des dates à partir d'une base MySQL (avec PHPMyAdmin), en les
exportant au format Excel2000.
La valeur dans la colonne A est (par exemple) 2006-10-26 pour le 26
octobre 2006.
Dans Excel 2000 j'ai écris ce code pour recréer une colonne dont les
valeurs pourront être reconnues comme dates (afin de regrouper dans un
TCD):

Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Dim cell, myAnnee, myMois, myJour
For Each cell In Range("A:A")
If cell.Value <> "" Then
cell.Select
myAnnee = Left(cell, 4)
myMois = Mid(cell, 6, 2)
myJour = Right(cell, 2)
ActiveCell.Offset(0, 1).Value = myJour & "/" & myMois & "/" & myAnnee
End If
Next

Mais les apparences sont trompeuses!
Bien que le contenu des cellules de la colonne B soit d'un aspect
satisfaisant:
- le format Date n'est pas reconnu spontanément
- en sélectionnant le format pour toute la colonne, certaines lignes se
convertissent et d'autres pas! (???)
- certaines cellules se formatent en date mais en inversant le mois et le
jour.

Qu'en pensez-vous?
Merci de votre aide.





Avatar
MichDenis
As-tu essayé la commande du menu Données / convertir
Tu sélectionnes ta colonne et la fenêtre No 3 , tu indiques
que ta colonne représente des dates et le format juste à côté...

Tu peux traduire cela en macro ... l'enregistreur de macro.


"ManBas" a écrit dans le message de news:

Bonsoir à tous,
Je récupère des dates à partir d'une base MySQL (avec PHPMyAdmin), en les
exportant au format Excel2000.
La valeur dans la colonne A est (par exemple) 2006-10-26 pour le 26 octobre
2006.
Dans Excel 2000 j'ai écris ce code pour recréer une colonne dont les valeurs
pourront être reconnues comme dates (afin de regrouper dans un TCD):

Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Dim cell, myAnnee, myMois, myJour
For Each cell In Range("A:A")
If cell.Value <> "" Then
cell.Select
myAnnee = Left(cell, 4)
myMois = Mid(cell, 6, 2)
myJour = Right(cell, 2)
ActiveCell.Offset(0, 1).Value = myJour & "/" & myMois & "/" & myAnnee
End If
Next

Mais les apparences sont trompeuses!
Bien que le contenu des cellules de la colonne B soit d'un aspect
satisfaisant:
- le format Date n'est pas reconnu spontanément
- en sélectionnant le format pour toute la colonne, certaines lignes se
convertissent et d'autres pas! (???)
- certaines cellules se formatent en date mais en inversant le mois et le
jour.

Qu'en pensez-vous?
Merci de votre aide.
Avatar
ManBas
Oui.
Justement cela ne fonctionnait pas.
Merci Michdenis

"MichDenis" a écrit dans le message de news:

As-tu essayé la commande du menu Données / convertir
Tu sélectionnes ta colonne et la fenêtre No 3 , tu indiques
que ta colonne représente des dates et le format juste à côté...

Tu peux traduire cela en macro ... l'enregistreur de macro.


"ManBas" a écrit dans le message de news:

Bonsoir à tous,
Je récupère des dates à partir d'une base MySQL (avec PHPMyAdmin), en les
exportant au format Excel2000.
La valeur dans la colonne A est (par exemple) 2006-10-26 pour le 26
octobre
2006.
Dans Excel 2000 j'ai écris ce code pour recréer une colonne dont les
valeurs
pourront être reconnues comme dates (afin de regrouper dans un TCD):

Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Dim cell, myAnnee, myMois, myJour
For Each cell In Range("A:A")
If cell.Value <> "" Then
cell.Select
myAnnee = Left(cell, 4)
myMois = Mid(cell, 6, 2)
myJour = Right(cell, 2)
ActiveCell.Offset(0, 1).Value = myJour & "/" & myMois & "/" & myAnnee
End If
Next

Mais les apparences sont trompeuses!
Bien que le contenu des cellules de la colonne B soit d'un aspect
satisfaisant:
- le format Date n'est pas reconnu spontanément
- en sélectionnant le format pour toute la colonne, certaines lignes se
convertissent et d'autres pas! (???)
- certaines cellules se formatent en date mais en inversant le mois et le
jour.

Qu'en pensez-vous?
Merci de votre aide.






Avatar
ManBas
Merci Trirème.
La date est saisie automatiquement via PHP dans MySQL, et je n'ai pas
rencontré (jusqu'ici) de date incomplète.


"Trirème" a écrit dans le message de news:

Bonsoir ManBas
Petite précaution à prendre.
Il me semble que MySQL permet d'utiliser des dates incomplètes, genre :
00/03/2005 si on ne connaît pas précisément le jour, ou encore 00/00/2005
si on ne connaît que l'année.
Si l'application ne fait pas ce genre de contrôle, il faudrait en avertir
Excel qui risque de surprendre son lecteur.

'scuzez si chuis HS

Cordialement,
Trirème

Bonsoir à tous,
Je récupère des dates à partir d'une base MySQL (avec PHPMyAdmin), en les
exportant au format Excel2000.
La valeur dans la colonne A est (par exemple) 2006-10-26 pour le 26
octobre 2006.
Dans Excel 2000 j'ai écris ce code pour recréer une colonne dont les
valeurs pourront être reconnues comme dates (afin de regrouper dans un
TCD):

Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Dim cell, myAnnee, myMois, myJour
For Each cell In Range("A:A")
If cell.Value <> "" Then
cell.Select
myAnnee = Left(cell, 4)
myMois = Mid(cell, 6, 2)
myJour = Right(cell, 2)
ActiveCell.Offset(0, 1).Value = myJour & "/" & myMois & "/" & myAnnee
End If
Next

Mais les apparences sont trompeuses!
Bien que le contenu des cellules de la colonne B soit d'un aspect
satisfaisant:
- le format Date n'est pas reconnu spontanément
- en sélectionnant le format pour toute la colonne, certaines lignes se
convertissent et d'autres pas! (???)
- certaines cellules se formatent en date mais en inversant le mois et le
jour.

Qu'en pensez-vous?
Merci de votre aide.