Voici un petit fichier, il y a un pépin sur la transformation
d'un format de date. Les explications sont dans le fichier
et le module de celui-ci. À priori, rien de bien compliquer !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Modeste
Bonsour® michdenis
Voici un petit fichier, il y a un pépin sur la transformation d'un format de date. Les explications sont dans le fichier et le module de celui-ci. À priori, rien de bien compliquer !
http://cjoint.com/?bCqg5hE0PZ
;o))) parce que ... by design comme ils disent !!!.
la plage originelle est au format texte ce que tu copies(valeur) en colonne A récupére ce format !!! les "replaces" et autres "substitue" ne change pas ce format OR .... ;o))) 26/01/2009 n'est pas une date au sens VBA US et n'est pas reconnue comme telle par le process automatique d'interprétation de date EXCEL et reste donc au format texte !!!! un simple : Rg.Value= Rg.Value aurait suffit pour que processus fasse son oeuvre
ce qui serait en fait arrivé si quelques dates avaient eu des valeurs telles que : 10.01.2009 01.13.2009 premier terme inferieur ou égale à 12 ET/OU second terme superieur à 12 ;o))) et t'aurai alors permit d'entrevoir l'explication
tsss.... tsss... l'alignement à gauche est symptomatique de ce probleme !!!! mais avant d'avoir ce réflexe, je peux t'assurer que moi aussi j'ai souvent galéré devant ce comportement ....
Bonsour® michdenis
Voici un petit fichier, il y a un pépin sur la transformation
d'un format de date. Les explications sont dans le fichier
et le module de celui-ci. À priori, rien de bien compliquer !
http://cjoint.com/?bCqg5hE0PZ
;o))) parce que ... by design comme ils disent !!!.
la plage originelle est au format texte
ce que tu copies(valeur) en colonne A récupére ce format !!!
les "replaces" et autres "substitue" ne change pas ce format
OR .... ;o)))
26/01/2009 n'est pas une date au sens VBA US
et n'est pas reconnue comme telle par le process automatique d'interprétation de date EXCEL
et reste donc au format texte !!!!
un simple :
Rg.Value= Rg.Value aurait suffit pour que processus fasse son oeuvre
ce qui serait en fait arrivé si quelques dates avaient eu des valeurs telles que :
10.01.2009
01.13.2009
premier terme inferieur ou égale à 12 ET/OU second terme superieur à 12
;o)))
et t'aurai alors permit d'entrevoir l'explication
tsss.... tsss... l'alignement à gauche est symptomatique de ce probleme !!!!
mais avant d'avoir ce réflexe, je peux t'assurer que moi aussi j'ai souvent galéré devant ce comportement ....
Voici un petit fichier, il y a un pépin sur la transformation d'un format de date. Les explications sont dans le fichier et le module de celui-ci. À priori, rien de bien compliquer !
http://cjoint.com/?bCqg5hE0PZ
;o))) parce que ... by design comme ils disent !!!.
la plage originelle est au format texte ce que tu copies(valeur) en colonne A récupére ce format !!! les "replaces" et autres "substitue" ne change pas ce format OR .... ;o))) 26/01/2009 n'est pas une date au sens VBA US et n'est pas reconnue comme telle par le process automatique d'interprétation de date EXCEL et reste donc au format texte !!!! un simple : Rg.Value= Rg.Value aurait suffit pour que processus fasse son oeuvre
ce qui serait en fait arrivé si quelques dates avaient eu des valeurs telles que : 10.01.2009 01.13.2009 premier terme inferieur ou égale à 12 ET/OU second terme superieur à 12 ;o))) et t'aurai alors permit d'entrevoir l'explication
tsss.... tsss... l'alignement à gauche est symptomatique de ce probleme !!!! mais avant d'avoir ce réflexe, je peux t'assurer que moi aussi j'ai souvent galéré devant ce comportement ....
michdenis
Et bien Modeste, tu as parfaitement raison. Pour un instant, j'avais oublié que même si la modification des dates se faisait dans l'interface de calcul, comme c'est en VBA, c'est le format américain qui prévaut. Comme dans mon exemple, les dates affichées dans la feuille étaient le 26/01/2009, pour VBA ce n'était pas des dates car ces dernières étaient impossible dans le seul format qu'il connait soit mm/dd/yyyy . En conséquence, pour excel, ces dates étaient et demeuraient du texte.
Je dois être du pour des vacances ! ;-))
Merci pour ton aide-mémoire.
Salutations.
"Modeste" a écrit dans le message de groupe de discussion :
Bonsour® michdenis
Voici un petit fichier, il y a un pépin sur la transformation d'un format de date. Les explications sont dans le fichier et le module de celui-ci. À priori, rien de bien compliquer !
http://cjoint.com/?bCqg5hE0PZ
;o))) parce que ... by design comme ils disent !!!.
la plage originelle est au format texte ce que tu copies(valeur) en colonne A récupére ce format !!! les "replaces" et autres "substitue" ne change pas ce format OR .... ;o))) 26/01/2009 n'est pas une date au sens VBA US et n'est pas reconnue comme telle par le process automatique d'interprétation de date EXCEL et reste donc au format texte !!!! un simple : Rg.Value= Rg.Value aurait suffit pour que processus fasse son oeuvre
ce qui serait en fait arrivé si quelques dates avaient eu des valeurs telles que : 10.01.2009 01.13.2009 premier terme inferieur ou égale à 12 ET/OU second terme superieur à 12 ;o))) et t'aurai alors permit d'entrevoir l'explication
tsss.... tsss... l'alignement à gauche est symptomatique de ce probleme !!!! mais avant d'avoir ce réflexe, je peux t'assurer que moi aussi j'ai souvent galéré devant ce comportement ....
Et bien Modeste, tu as parfaitement raison.
Pour un instant, j'avais oublié que même si la
modification des dates se faisait dans l'interface
de calcul, comme c'est en VBA, c'est le format
américain qui prévaut.
Comme dans mon exemple, les dates affichées
dans la feuille étaient le 26/01/2009, pour VBA
ce n'était pas des dates car ces dernières étaient
impossible dans le seul format qu'il connait soit
mm/dd/yyyy . En conséquence, pour excel, ces
dates étaient et demeuraient du texte.
Je dois être du pour des vacances ! ;-))
Merci pour ton aide-mémoire.
Salutations.
"Modeste" <GD@libre.fr> a écrit dans le message de groupe de discussion :
OvGOvO9fJHA.4868@TK2MSFTNGP05.phx.gbl...
Bonsour® michdenis
Voici un petit fichier, il y a un pépin sur la transformation
d'un format de date. Les explications sont dans le fichier
et le module de celui-ci. À priori, rien de bien compliquer !
http://cjoint.com/?bCqg5hE0PZ
;o))) parce que ... by design comme ils disent !!!.
la plage originelle est au format texte
ce que tu copies(valeur) en colonne A récupére ce format !!!
les "replaces" et autres "substitue" ne change pas ce format
OR .... ;o)))
26/01/2009 n'est pas une date au sens VBA US
et n'est pas reconnue comme telle par le process automatique d'interprétation de date
EXCEL
et reste donc au format texte !!!!
un simple :
Rg.Value= Rg.Value aurait suffit pour que processus fasse son oeuvre
ce qui serait en fait arrivé si quelques dates avaient eu des valeurs telles que :
10.01.2009
01.13.2009
premier terme inferieur ou égale à 12 ET/OU second terme superieur à 12
;o)))
et t'aurai alors permit d'entrevoir l'explication
tsss.... tsss... l'alignement à gauche est symptomatique de ce probleme !!!!
mais avant d'avoir ce réflexe, je peux t'assurer que moi aussi j'ai souvent galéré devant
ce comportement ....
Et bien Modeste, tu as parfaitement raison. Pour un instant, j'avais oublié que même si la modification des dates se faisait dans l'interface de calcul, comme c'est en VBA, c'est le format américain qui prévaut. Comme dans mon exemple, les dates affichées dans la feuille étaient le 26/01/2009, pour VBA ce n'était pas des dates car ces dernières étaient impossible dans le seul format qu'il connait soit mm/dd/yyyy . En conséquence, pour excel, ces dates étaient et demeuraient du texte.
Je dois être du pour des vacances ! ;-))
Merci pour ton aide-mémoire.
Salutations.
"Modeste" a écrit dans le message de groupe de discussion :
Bonsour® michdenis
Voici un petit fichier, il y a un pépin sur la transformation d'un format de date. Les explications sont dans le fichier et le module de celui-ci. À priori, rien de bien compliquer !
http://cjoint.com/?bCqg5hE0PZ
;o))) parce que ... by design comme ils disent !!!.
la plage originelle est au format texte ce que tu copies(valeur) en colonne A récupére ce format !!! les "replaces" et autres "substitue" ne change pas ce format OR .... ;o))) 26/01/2009 n'est pas une date au sens VBA US et n'est pas reconnue comme telle par le process automatique d'interprétation de date EXCEL et reste donc au format texte !!!! un simple : Rg.Value= Rg.Value aurait suffit pour que processus fasse son oeuvre
ce qui serait en fait arrivé si quelques dates avaient eu des valeurs telles que : 10.01.2009 01.13.2009 premier terme inferieur ou égale à 12 ET/OU second terme superieur à 12 ;o))) et t'aurai alors permit d'entrevoir l'explication
tsss.... tsss... l'alignement à gauche est symptomatique de ce probleme !!!! mais avant d'avoir ce réflexe, je peux t'assurer que moi aussi j'ai souvent galéré devant ce comportement ....
milloche
Bonjour Le format de date reconnu par le VBA n'est-il pas "m/d/yyyy" et non "mm/dd/yyyy" Est-il ? JMM
"michdenis" a écrit dans le message de news:
Et bien Modeste, tu as parfaitement raison. Pour un instant, j'avais oublié que même si la modification des dates se faisait dans l'interface de calcul, comme c'est en VBA, c'est le format américain qui prévaut. Comme dans mon exemple, les dates affichées dans la feuille étaient le 26/01/2009, pour VBA ce n'était pas des dates car ces dernières étaient impossible dans le seul format qu'il connait soit mm/dd/yyyy . En conséquence, pour excel, ces dates étaient et demeuraient du texte.
Je dois être du pour des vacances ! ;-))
Merci pour ton aide-mémoire.
Salutations.
"Modeste" a écrit dans le message de groupe de discussion :
Bonsour® michdenis
Voici un petit fichier, il y a un pépin sur la transformation d'un format de date. Les explications sont dans le fichier et le module de celui-ci. À priori, rien de bien compliquer !
http://cjoint.com/?bCqg5hE0PZ
;o))) parce que ... by design comme ils disent !!!.
la plage originelle est au format texte ce que tu copies(valeur) en colonne A récupére ce format !!! les "replaces" et autres "substitue" ne change pas ce format OR .... ;o))) 26/01/2009 n'est pas une date au sens VBA US et n'est pas reconnue comme telle par le process automatique d'interprétation de date EXCEL et reste donc au format texte !!!! un simple : Rg.Value= Rg.Value aurait suffit pour que processus fasse son oeuvre
ce qui serait en fait arrivé si quelques dates avaient eu des valeurs telles que : 10.01.2009 01.13.2009 premier terme inferieur ou égale à 12 ET/OU second terme superieur à 12 ;o))) et t'aurai alors permit d'entrevoir l'explication
tsss.... tsss... l'alignement à gauche est symptomatique de ce probleme !!!! mais avant d'avoir ce réflexe, je peux t'assurer que moi aussi j'ai souvent galéré devant ce comportement ....
Bonjour
Le format de date reconnu par le VBA n'est-il pas
"m/d/yyyy" et non "mm/dd/yyyy"
Est-il ?
JMM
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
A8F84391-C859-4851-9DD6-2B85E9BF8DEB@microsoft.com...
Et bien Modeste, tu as parfaitement raison.
Pour un instant, j'avais oublié que même si la
modification des dates se faisait dans l'interface
de calcul, comme c'est en VBA, c'est le format
américain qui prévaut.
Comme dans mon exemple, les dates affichées
dans la feuille étaient le 26/01/2009, pour VBA
ce n'était pas des dates car ces dernières étaient
impossible dans le seul format qu'il connait soit
mm/dd/yyyy . En conséquence, pour excel, ces
dates étaient et demeuraient du texte.
Je dois être du pour des vacances ! ;-))
Merci pour ton aide-mémoire.
Salutations.
"Modeste" <GD@libre.fr> a écrit dans le message de groupe de discussion :
OvGOvO9fJHA.4868@TK2MSFTNGP05.phx.gbl...
Bonsour® michdenis
Voici un petit fichier, il y a un pépin sur la transformation
d'un format de date. Les explications sont dans le fichier
et le module de celui-ci. À priori, rien de bien compliquer !
http://cjoint.com/?bCqg5hE0PZ
;o))) parce que ... by design comme ils disent !!!.
la plage originelle est au format texte
ce que tu copies(valeur) en colonne A récupére ce format !!!
les "replaces" et autres "substitue" ne change pas ce format
OR .... ;o)))
26/01/2009 n'est pas une date au sens VBA US
et n'est pas reconnue comme telle par le process automatique d'interprétation de date
EXCEL
et reste donc au format texte !!!!
un simple :
Rg.Value= Rg.Value aurait suffit pour que processus fasse son oeuvre
ce qui serait en fait arrivé si quelques dates avaient eu des valeurs telles que :
10.01.2009
01.13.2009
premier terme inferieur ou égale à 12 ET/OU second terme superieur à 12
;o)))
et t'aurai alors permit d'entrevoir l'explication
tsss.... tsss... l'alignement à gauche est symptomatique de ce probleme !!!!
mais avant d'avoir ce réflexe, je peux t'assurer que moi aussi j'ai souvent galéré
devant
ce comportement ....
Bonjour Le format de date reconnu par le VBA n'est-il pas "m/d/yyyy" et non "mm/dd/yyyy" Est-il ? JMM
"michdenis" a écrit dans le message de news:
Et bien Modeste, tu as parfaitement raison. Pour un instant, j'avais oublié que même si la modification des dates se faisait dans l'interface de calcul, comme c'est en VBA, c'est le format américain qui prévaut. Comme dans mon exemple, les dates affichées dans la feuille étaient le 26/01/2009, pour VBA ce n'était pas des dates car ces dernières étaient impossible dans le seul format qu'il connait soit mm/dd/yyyy . En conséquence, pour excel, ces dates étaient et demeuraient du texte.
Je dois être du pour des vacances ! ;-))
Merci pour ton aide-mémoire.
Salutations.
"Modeste" a écrit dans le message de groupe de discussion :
Bonsour® michdenis
Voici un petit fichier, il y a un pépin sur la transformation d'un format de date. Les explications sont dans le fichier et le module de celui-ci. À priori, rien de bien compliquer !
http://cjoint.com/?bCqg5hE0PZ
;o))) parce que ... by design comme ils disent !!!.
la plage originelle est au format texte ce que tu copies(valeur) en colonne A récupére ce format !!! les "replaces" et autres "substitue" ne change pas ce format OR .... ;o))) 26/01/2009 n'est pas une date au sens VBA US et n'est pas reconnue comme telle par le process automatique d'interprétation de date EXCEL et reste donc au format texte !!!! un simple : Rg.Value= Rg.Value aurait suffit pour que processus fasse son oeuvre
ce qui serait en fait arrivé si quelques dates avaient eu des valeurs telles que : 10.01.2009 01.13.2009 premier terme inferieur ou égale à 12 ET/OU second terme superieur à 12 ;o))) et t'aurai alors permit d'entrevoir l'explication
tsss.... tsss... l'alignement à gauche est symptomatique de ce probleme !!!! mais avant d'avoir ce réflexe, je peux t'assurer que moi aussi j'ai souvent galéré devant ce comportement ....
Modeste
Bonsour® milloche
Le format de date reconnu par le VBA n'est-il pas "m/d/yyyy" et non "mm/dd/yyyy"
;o))) oui et non .... le format reconnu est celui utilisé dans les options internationnales de Windows et notament le séparateur.
;o))) ceci dit, le "By design" est plutot assez pointu puisqu'il est capable discerner : 01/11/yyyy , 01/01/yyyy, 1/1/yyyy ,1/11/yyyy et 11/1/yyyy
cela est notament fabuleux quand on utilise l'assistant de conversion lors d'importation de données il ignore même dans ce cas le séparateur !!!!
Bonsour® milloche
Le format de date reconnu par le VBA n'est-il pas
"m/d/yyyy" et non "mm/dd/yyyy"
;o)))
oui et non ....
le format reconnu est celui utilisé dans les options internationnales de Windows
et notament le séparateur.
;o))) ceci dit,
le "By design" est plutot assez pointu puisqu'il est capable discerner :
01/11/yyyy , 01/01/yyyy, 1/1/yyyy ,1/11/yyyy et 11/1/yyyy
cela est notament fabuleux quand on utilise l'assistant de conversion lors d'importation de données
il ignore même dans ce cas le séparateur !!!!