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

Date Mac PC

5 réponses
Avatar
Pascal
Bonjour
J'ai récupéré unu fichier mac excel sur mon PC excel 2003
Le fichier à 3800 lignes et je dois faire un certains nombre de TCD;
Hors je ne peux pas regrouper les données par mois car les dates ne sont pas
reconnues comme telles malgré que le format de cellules soit le bon.
Le seul moyen que j'ai trouvé c'est de me positionner sur devant le premier
caractère de la date et d'appuyer sur TAB.
Je n'y comprends rien car ensuite la date est reconnue.
Quelqu'un a t'il une solution

Lorsque j'écris une date en VBA elle est au format mm/dd/yy et je la
retrouve au format dd/mm/yy sur mon fichier Excel

Merci
Pascal

5 réponses

Avatar
MichDenis
Bonjour Pascal,

Question No 1.
Ta question semble être celle-ci : tu as des cellules
ayant un bon format de texte dans des cellules au
format Standard mais je dois cliquer dans la cellule
et lors de la sortie de la cellule (validation) la date
s'affiche normalement.

Pour les transformer toutes les dates d'une plage de cellules,
A ) dans une cellule vide inscrit 1 et copier cette cellule dans le presse-papier
B ) Sélectionne ta plage de cellules contenant les dates
C ) Appelle la commande "Collage spéciale" et tu retiens :
Valeur seulement et Opération mathématique : Multiplication.

Pourquoi cet état de chose ? Tout simplement que lorsqu'Excel a
ouvert ton fichier fait à partir de Mac, il a interprétée ces données
comme étant du texte. Je ne connais pas Mac, et je ne sais pas
comment Mac considérait ces données ? Du texte ou des dates ?
Cela ne change pas la solution à appliquer.

Question II

Microsoft est de conception américaine. Le code VBA a et est
conçu à partir des paramètres américains. VBA travaille toujours
avec des formats américains. Mois/jour/année. Si tu as une variable
texte dans une procédure :
dim MaDate As String
MaDate = "05/08/2009"

Si Excel n'a pas d'autres indices, il interprètera cette date comme
étant le 8 mai 2009 (format Mois/jour/année). Si tu avais comme
date de départ :
MaDate = "15/08/2009" , Excel tentera d'afficher la date au format
américain... ce faisant, il va se rendre compte que la date est impossible
il n'y a pas d'année avec 15 mois... il choisira alors un des formats
possibles pour la date. Dans ta cellule, tu obtiendras 15/08/2009
mais le contenu sera affiché comme étant du texte. (affichage à gauche
de la cellule)

Pour aider Excel, tu peux utiliser la fonction de conversion Cdate().
Les fonctions de conversion d'excel, utilise les paramètres définis
dans le panneau de configuration, en conséquence, le format "Date"
du panneau de configuration. Cela règlera ton affichage dans la
feuille de calcul :
'----------------------------
Sub test()
Dim MaDate As String
MaDate = "05/08/2009"
Range("A1") = CDate(MaDate)
End Sub
'----------------------------

Cependant, il faut réaliser que la fonction Cdate() a ses limites.
Puisqu'elle est basée sur le format date du panneau de configuration
de Windows, Que se passera-t-il si tu expédies ton fichier à un
utilisateur ayant d'autres paramètres que les tiens ? Afin d'éviter
toutes mauvaises interprétations, il est sage d'utiliser la fonction
dateserial() qui sera toujours correcte qu'importe le pays où le
fichier sera ouvert.

MaDate = DateSerial(Année,mois,jour)




L'interface de la
feuille de calcul te permet de choisir d'afficher la date dans le
format que tu désires. Par défaut, ce format est défini à partir
du panneau de configuration de Windows.



"Pascal" a écrit dans le message de groupe de discussion :

Bonjour
J'ai récupéré unu fichier mac excel sur mon PC excel 2003
Le fichier à 3800 lignes et je dois faire un certains nombre de TCD;
Hors je ne peux pas regrouper les données par mois car les dates ne sont pas
reconnues comme telles malgré que le format de cellules soit le bon.
Le seul moyen que j'ai trouvé c'est de me positionner sur devant le premier
caractère de la date et d'appuyer sur TAB.
Je n'y comprends rien car ensuite la date est reconnue.
Quelqu'un a t'il une solution

Lorsque j'écris une date en VBA elle est au format mm/dd/yy et je la
retrouve au format dd/mm/yy sur mon fichier Excel

Merci
Pascal
Avatar
Pascal
Merci Denis
Encore une explication claire et concise
Pascal
"MichDenis" a écrit dans le message de news:
%
Bonjour Pascal,

Question No 1.
Ta question semble être celle-ci : tu as des cellules
ayant un bon format de texte dans des cellules au
format Standard mais je dois cliquer dans la cellule
et lors de la sortie de la cellule (validation) la date
s'affiche normalement.

Pour les transformer toutes les dates d'une plage de cellules,
A ) dans une cellule vide inscrit 1 et copier cette cellule dans le
presse-papier
B ) Sélectionne ta plage de cellules contenant les dates
C ) Appelle la commande "Collage spéciale" et tu retiens :
Valeur seulement et Opération mathématique : Multiplication.

Pourquoi cet état de chose ? Tout simplement que lorsqu'Excel a
ouvert ton fichier fait à partir de Mac, il a interprétée ces données
comme étant du texte. Je ne connais pas Mac, et je ne sais pas
comment Mac considérait ces données ? Du texte ou des dates ?
Cela ne change pas la solution à appliquer.

Question II

Microsoft est de conception américaine. Le code VBA a et est
conçu à partir des paramètres américains. VBA travaille toujours
avec des formats américains. Mois/jour/année. Si tu as une variable
texte dans une procédure :
dim MaDate As String
MaDate = "05/08/2009"

Si Excel n'a pas d'autres indices, il interprètera cette date comme
étant le 8 mai 2009 (format Mois/jour/année). Si tu avais comme
date de départ :
MaDate = "15/08/2009" , Excel tentera d'afficher la date au format
américain... ce faisant, il va se rendre compte que la date est impossible
il n'y a pas d'année avec 15 mois... il choisira alors un des formats
possibles pour la date. Dans ta cellule, tu obtiendras 15/08/2009
mais le contenu sera affiché comme étant du texte. (affichage à gauche
de la cellule)

Pour aider Excel, tu peux utiliser la fonction de conversion Cdate().
Les fonctions de conversion d'excel, utilise les paramètres définis
dans le panneau de configuration, en conséquence, le format "Date"
du panneau de configuration. Cela règlera ton affichage dans la
feuille de calcul :
'----------------------------
Sub test()
Dim MaDate As String
MaDate = "05/08/2009"
Range("A1") = CDate(MaDate)
End Sub
'----------------------------

Cependant, il faut réaliser que la fonction Cdate() a ses limites.
Puisqu'elle est basée sur le format date du panneau de configuration
de Windows, Que se passera-t-il si tu expédies ton fichier à un
utilisateur ayant d'autres paramètres que les tiens ? Afin d'éviter
toutes mauvaises interprétations, il est sage d'utiliser la fonction
dateserial() qui sera toujours correcte qu'importe le pays où le
fichier sera ouvert.

MaDate = DateSerial(Année,mois,jour)




L'interface de la
feuille de calcul te permet de choisir d'afficher la date dans le
format que tu désires. Par défaut, ce format est défini à partir
du panneau de configuration de Windows.



"Pascal" a écrit dans le message de groupe de discussion :

Bonjour
J'ai récupéré unu fichier mac excel sur mon PC excel 2003
Le fichier à 3800 lignes et je dois faire un certains nombre de TCD;
Hors je ne peux pas regrouper les données par mois car les dates ne sont
pas
reconnues comme telles malgré que le format de cellules soit le bon.
Le seul moyen que j'ai trouvé c'est de me positionner sur devant le
premier
caractère de la date et d'appuyer sur TAB.
Je n'y comprends rien car ensuite la date est reconnue.
Quelqu'un a t'il une solution

Lorsque j'écris une date en VBA elle est au format mm/dd/yy et je la
retrouve au format dd/mm/yy sur mon fichier Excel

Merci
Pascal



Avatar
MichDenis
Une précision :

Dans l'exemple que je t'ai donné :
MaDate = DateSerial(Année,mois,jour)

Tu auras compris que tu dois déclarer la
variable "MaDate" as Date non as string

il y a aussi cette façon de faire :
Dim MaDate As Date
MaDate = DateValue("2009-08-21")
Le format COURT des dates "Année/mois/jour" est un
format date reconnu internationalement par toutes les
versions d'Excel et VBA a aucun problème d'interprétation
des dates présentées de cette manière.
Il adaptera de lui-même le séparateur de date approprié
selon le pays où le fichier sera exécuté. Dans l'aide d'Excel,
Il est écrit:
'---------------------------
la fonction DateValue associe ces valeurs au mois, au jour et
à l'année selon le format Date courte que vous avez défini
pour votre système.
'---------------------------


"Pascal" a écrit dans le message de groupe de discussion :

Merci Denis
Encore une explication claire et concise
Pascal
"MichDenis" a écrit dans le message de news:
%
Bonjour Pascal,

Question No 1.
Ta question semble être celle-ci : tu as des cellules
ayant un bon format de texte dans des cellules au
format Standard mais je dois cliquer dans la cellule
et lors de la sortie de la cellule (validation) la date
s'affiche normalement.

Pour les transformer toutes les dates d'une plage de cellules,
A ) dans une cellule vide inscrit 1 et copier cette cellule dans le
presse-papier
B ) Sélectionne ta plage de cellules contenant les dates
C ) Appelle la commande "Collage spéciale" et tu retiens :
Valeur seulement et Opération mathématique : Multiplication.

Pourquoi cet état de chose ? Tout simplement que lorsqu'Excel a
ouvert ton fichier fait à partir de Mac, il a interprétée ces données
comme étant du texte. Je ne connais pas Mac, et je ne sais pas
comment Mac considérait ces données ? Du texte ou des dates ?
Cela ne change pas la solution à appliquer.

Question II

Microsoft est de conception américaine. Le code VBA a et est
conçu à partir des paramètres américains. VBA travaille toujours
avec des formats américains. Mois/jour/année. Si tu as une variable
texte dans une procédure :
dim MaDate As String
MaDate = "05/08/2009"

Si Excel n'a pas d'autres indices, il interprètera cette date comme
étant le 8 mai 2009 (format Mois/jour/année). Si tu avais comme
date de départ :
MaDate = "15/08/2009" , Excel tentera d'afficher la date au format
américain... ce faisant, il va se rendre compte que la date est impossible
il n'y a pas d'année avec 15 mois... il choisira alors un des formats
possibles pour la date. Dans ta cellule, tu obtiendras 15/08/2009
mais le contenu sera affiché comme étant du texte. (affichage à gauche
de la cellule)

Pour aider Excel, tu peux utiliser la fonction de conversion Cdate().
Les fonctions de conversion d'excel, utilise les paramètres définis
dans le panneau de configuration, en conséquence, le format "Date"
du panneau de configuration. Cela règlera ton affichage dans la
feuille de calcul :
'----------------------------
Sub test()
Dim MaDate As String
MaDate = "05/08/2009"
Range("A1") = CDate(MaDate)
End Sub
'----------------------------

Cependant, il faut réaliser que la fonction Cdate() a ses limites.
Puisqu'elle est basée sur le format date du panneau de configuration
de Windows, Que se passera-t-il si tu expédies ton fichier à un
utilisateur ayant d'autres paramètres que les tiens ? Afin d'éviter
toutes mauvaises interprétations, il est sage d'utiliser la fonction
dateserial() qui sera toujours correcte qu'importe le pays où le
fichier sera ouvert.

MaDate = DateSerial(Année,mois,jour)




L'interface de la
feuille de calcul te permet de choisir d'afficher la date dans le
format que tu désires. Par défaut, ce format est défini à partir
du panneau de configuration de Windows.



"Pascal" a écrit dans le message de groupe de discussion :

Bonjour
J'ai récupéré unu fichier mac excel sur mon PC excel 2003
Le fichier à 3800 lignes et je dois faire un certains nombre de TCD;
Hors je ne peux pas regrouper les données par mois car les dates ne sont
pas
reconnues comme telles malgré que le format de cellules soit le bon.
Le seul moyen que j'ai trouvé c'est de me positionner sur devant le
premier
caractère de la date et d'appuyer sur TAB.
Je n'y comprends rien car ensuite la date est reconnue.
Quelqu'un a t'il une solution

Lorsque j'écris une date en VBA elle est au format mm/dd/yy et je la
retrouve au format dd/mm/yy sur mon fichier Excel

Merci
Pascal



Avatar
Patou
Bonjour à tous,
Juste un point, comme je suis sur Mac et que j'ai aussi un PC , Windows gère
une date depuis le 1°janvier 1900 et mac le 2 janvier 1904. Donc le passage
de l'un à l'autre peut donner des choses surprenante. Dans les fréférences
d'Excel onglet Calcul il y a une case à cocher qui permet de passer de l'un
à l'autre.
Cordialement
Patrick


Le 22/08/09 16:18, dans #, « MichDenis »
a écrit :

Une précision :

Dans l'exemple que je t'ai donné :
MaDate = DateSerial(Année,mois,jour)

Tu auras compris que tu dois déclarer la
variable "MaDate" as Date non as string

il y a aussi cette façon de faire :
Dim MaDate As Date
MaDate = DateValue("2009-08-21")
Le format COURT des dates "Année/mois/jour" est un
format date reconnu internationalement par toutes les
versions d'Excel et VBA a aucun problème d'interprétation
des dates présentées de cette manière.
Il adaptera de lui-même le séparateur de date approprié
selon le pays où le fichier sera exécuté. Dans l'aide d'Excel,
Il est écrit:
'---------------------------
la fonction DateValue associe ces valeurs au mois, au jour et
à l'année selon le format Date courte que vous avez défini
pour votre système.
'---------------------------


"Pascal" a écrit dans le message de groupe de discussion :

Merci Denis
Encore une explication claire et concise
Pascal
"MichDenis" a écrit dans le message de news:
%
Bonjour Pascal,

Question No 1.
Ta question semble être celle-ci : tu as des cellules
ayant un bon format de texte dans des cellules au
format Standard mais je dois cliquer dans la cellule
et lors de la sortie de la cellule (validation) la date
s'affiche normalement.

Pour les transformer toutes les dates d'une plage de cellules,
A ) dans une cellule vide inscrit 1 et copier cette cellule dans le
presse-papier
B ) Sélectionne ta plage de cellules contenant les dates
C ) Appelle la commande "Collage spéciale" et tu retiens :
Valeur seulement et Opération mathématique : Multiplication.

Pourquoi cet état de chose ? Tout simplement que lorsqu'Excel a
ouvert ton fichier fait à partir de Mac, il a interprétée ces données
comme étant du texte. Je ne connais pas Mac, et je ne sais pas
comment Mac considérait ces données ? Du texte ou des dates ?
Cela ne change pas la solution à appliquer.

Question II

Microsoft est de conception américaine. Le code VBA a et est
conçu à partir des paramètres américains. VBA travaille toujours
avec des formats américains. Mois/jour/année. Si tu as une variable
texte dans une procédure :
dim MaDate As String
MaDate = "05/08/2009"

Si Excel n'a pas d'autres indices, il interprètera cette date comme
étant le 8 mai 2009 (format Mois/jour/année). Si tu avais comme
date de départ :
MaDate = "15/08/2009" , Excel tentera d'afficher la date au format
américain... ce faisant, il va se rendre compte que la date est impossible
il n'y a pas d'année avec 15 mois... il choisira alors un des formats
possibles pour la date. Dans ta cellule, tu obtiendras 15/08/2009
mais le contenu sera affiché comme étant du texte. (affichage à gauche
de la cellule)

Pour aider Excel, tu peux utiliser la fonction de conversion Cdate().
Les fonctions de conversion d'excel, utilise les paramètres définis
dans le panneau de configuration, en conséquence, le format "Date"
du panneau de configuration. Cela règlera ton affichage dans la
feuille de calcul :
'----------------------------
Sub test()
Dim MaDate As String
MaDate = "05/08/2009"
Range("A1") = CDate(MaDate)
End Sub
'----------------------------

Cependant, il faut réaliser que la fonction Cdate() a ses limites.
Puisqu'elle est basée sur le format date du panneau de configuration
de Windows, Que se passera-t-il si tu expédies ton fichier à un
utilisateur ayant d'autres paramètres que les tiens ? Afin d'éviter
toutes mauvaises interprétations, il est sage d'utiliser la fonction
dateserial() qui sera toujours correcte qu'importe le pays où le
fichier sera ouvert.

MaDate = DateSerial(Année,mois,jour)




L'interface de la
feuille de calcul te permet de choisir d'afficher la date dans le
format que tu désires. Par défaut, ce format est défini à partir
du panneau de configuration de Windows.



"Pascal" a écrit dans le message de groupe de discussion :

Bonjour
J'ai récupéré unu fichier mac excel sur mon PC excel 2003
Le fichier à 3800 lignes et je dois faire un certains nombre de TCD;
Hors je ne peux pas regrouper les données par mois car les dates ne sont
pas
reconnues comme telles malgré que le format de cellules soit le bon.
Le seul moyen que j'ai trouvé c'est de me positionner sur devant le
premier
caractère de la date et d'appuyer sur TAB.
Je n'y comprends rien car ensuite la date est reconnue.
Quelqu'un a t'il une solution

Lorsque j'écris une date en VBA elle est au format mm/dd/yy et je la
retrouve au format dd/mm/yy sur mon fichier Excel

Merci
Pascal






Avatar
MichDenis
merci Patou pour ton commentaire.



"Patou" a écrit dans le message de groupe de discussion :
C6B5E1CD.5B0%
Bonjour à tous,
Juste un point, comme je suis sur Mac et que j'ai aussi un PC , Windows gère
une date depuis le 1°janvier 1900 et mac le 2 janvier 1904. Donc le passage
de l'un à l'autre peut donner des choses surprenante. Dans les fréférences
d'Excel onglet Calcul il y a une case à cocher qui permet de passer de l'un
à l'autre.
Cordialement
Patrick


Le 22/08/09 16:18, dans #, « MichDenis »
a écrit :

Une précision :

Dans l'exemple que je t'ai donné :
MaDate = DateSerial(Année,mois,jour)

Tu auras compris que tu dois déclarer la
variable "MaDate" as Date non as string

il y a aussi cette façon de faire :
Dim MaDate As Date
MaDate = DateValue("2009-08-21")
Le format COURT des dates "Année/mois/jour" est un
format date reconnu internationalement par toutes les
versions d'Excel et VBA a aucun problème d'interprétation
des dates présentées de cette manière.
Il adaptera de lui-même le séparateur de date approprié
selon le pays où le fichier sera exécuté. Dans l'aide d'Excel,
Il est écrit:
'---------------------------
la fonction DateValue associe ces valeurs au mois, au jour et
à l'année selon le format Date courte que vous avez défini
pour votre système.
'---------------------------


"Pascal" a écrit dans le message de groupe de discussion :

Merci Denis
Encore une explication claire et concise
Pascal
"MichDenis" a écrit dans le message de news:
%
Bonjour Pascal,

Question No 1.
Ta question semble être celle-ci : tu as des cellules
ayant un bon format de texte dans des cellules au
format Standard mais je dois cliquer dans la cellule
et lors de la sortie de la cellule (validation) la date
s'affiche normalement.

Pour les transformer toutes les dates d'une plage de cellules,
A ) dans une cellule vide inscrit 1 et copier cette cellule dans le
presse-papier
B ) Sélectionne ta plage de cellules contenant les dates
C ) Appelle la commande "Collage spéciale" et tu retiens :
Valeur seulement et Opération mathématique : Multiplication.

Pourquoi cet état de chose ? Tout simplement que lorsqu'Excel a
ouvert ton fichier fait à partir de Mac, il a interprétée ces données
comme étant du texte. Je ne connais pas Mac, et je ne sais pas
comment Mac considérait ces données ? Du texte ou des dates ?
Cela ne change pas la solution à appliquer.

Question II

Microsoft est de conception américaine. Le code VBA a et est
conçu à partir des paramètres américains. VBA travaille toujours
avec des formats américains. Mois/jour/année. Si tu as une variable
texte dans une procédure :
dim MaDate As String
MaDate = "05/08/2009"

Si Excel n'a pas d'autres indices, il interprètera cette date comme
étant le 8 mai 2009 (format Mois/jour/année). Si tu avais comme
date de départ :
MaDate = "15/08/2009" , Excel tentera d'afficher la date au format
américain... ce faisant, il va se rendre compte que la date est impossible
il n'y a pas d'année avec 15 mois... il choisira alors un des formats
possibles pour la date. Dans ta cellule, tu obtiendras 15/08/2009
mais le contenu sera affiché comme étant du texte. (affichage à gauche
de la cellule)

Pour aider Excel, tu peux utiliser la fonction de conversion Cdate().
Les fonctions de conversion d'excel, utilise les paramètres définis
dans le panneau de configuration, en conséquence, le format "Date"
du panneau de configuration. Cela règlera ton affichage dans la
feuille de calcul :
'----------------------------
Sub test()
Dim MaDate As String
MaDate = "05/08/2009"
Range("A1") = CDate(MaDate)
End Sub
'----------------------------

Cependant, il faut réaliser que la fonction Cdate() a ses limites.
Puisqu'elle est basée sur le format date du panneau de configuration
de Windows, Que se passera-t-il si tu expédies ton fichier à un
utilisateur ayant d'autres paramètres que les tiens ? Afin d'éviter
toutes mauvaises interprétations, il est sage d'utiliser la fonction
dateserial() qui sera toujours correcte qu'importe le pays où le
fichier sera ouvert.

MaDate = DateSerial(Année,mois,jour)




L'interface de la
feuille de calcul te permet de choisir d'afficher la date dans le
format que tu désires. Par défaut, ce format est défini à partir
du panneau de configuration de Windows.



"Pascal" a écrit dans le message de groupe de discussion :

Bonjour
J'ai récupéré unu fichier mac excel sur mon PC excel 2003
Le fichier à 3800 lignes et je dois faire un certains nombre de TCD;
Hors je ne peux pas regrouper les données par mois car les dates ne sont
pas
reconnues comme telles malgré que le format de cellules soit le bon.
Le seul moyen que j'ai trouvé c'est de me positionner sur devant le
premier
caractère de la date et d'appuyer sur TAB.
Je n'y comprends rien car ensuite la date est reconnue.
Quelqu'un a t'il une solution

Lorsque j'écris une date en VBA elle est au format mm/dd/yy et je la
retrouve au format dd/mm/yy sur mon fichier Excel

Merci
Pascal