date et format

H

help

Guest
bonjour au forum,

j'ai quelques petits soucis avec excel et on ne sait jamais, si ça parle à kk1 ...

Voilà j'ai une date au format anglais du type : 23-Apr-93 que je ne réussis pas à convertir au format 19930423

j'ai essayé la formule suivante : =TEXT(A1;"aaaammjj") mais elle ne fonctionne pas ...


Merci d'avances de vos suggestions.
à+ help.
 
C

Celeda

Guest
Bonjour,

Oui en fait le 23-Apr-93 n'est pas reconnu comme une date chez moi,(certainement à cause des paramètres régionaux qu'il faut changer et à chaque fois que je les change, je dois rebooter le pc......) donc j'ai été chercher la tranformation du 23-Apr-93 en nombre RECONNU par excel.

Je l'ai fait en 6 colonnes (je t'avoue que j'ai préféré décortiquer) mais on doit pouvoir le faire en moins ou concatener des formules, mais pour l'instant je voulais voir si on pouvait y arriver donc il y aura certainement matière à améliorer les formules.
Et pour te donner le résultat escompté 19930423, en ayant retrouvé le nombre j'ai appliqué un format personnalisé, aaaammjj.
(En fait c'est la colonne 3 qui me pose un probléme car il faudra à chaque fois changer le mois par le nombre. Bon il n'y a que 12 mois mais je voulais faire mieux (je vais voir si avec Choisir ou Index on pourrait pas faire la substitution))


en attendant d'autres suggestions,


Celeda
 

Pièces jointes

  • ConvertirDate.zip
    4.8 KB · Affichages: 17
M

Mytå

Guest
Sinon reste le remplacement

Sub Remplacer_Mois()

With Columns("A:A")
.Replace What:="jan", Replacement:="janv", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.Replace What:="feb", Replacement:="févr", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.Replace What:="mar", Replacement:="mars", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.Replace What:="apr", Replacement:="avr", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.Replace What:="may", Replacement:="mai", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.Replace What:="jun", Replacement:="juin", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.Replace What:="jul", Replacement:="jui", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.Replace What:="aug", Replacement:="août", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.Replace What:="sep", Replacement:="sept", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.Replace What:="oct", Replacement:="oct", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.Replace What:="nov", Replacement:="nov", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.Replace What:="dec", Replacement:="déc", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
.NumberFormat = "yyyymmdd"
End With

End Sub
 
H

help

Guest
Bonjour à toutes et à tous,


Tout d'abord un grand merci pour votre aide et votre temps.
Celeda, ton idée de découper pour reconstituer m'a beaucoup plu seulement sauf erreur tu transformes "en dur" le Apr en 4 donc il faudrait si je veux pouvoir gérer tous les cas, gérer un tableau de correspondance .... ce qui nous amène à Myta : je pense que je vais utiliser ta procédure, vu qu'il n'y a que 12 mois dans l'année et qu'à priori (sic) ça ne devrait pas trop évoluer ... ;°)

Merci mesdames, messieurs ....

@ très bientôt,
help.
 
A

andré

Guest
Salut à vous tous,

Ci-joint un essai de solution par formule, mais avec deux restrictions :

J'ai du créer une table de conversion pour les mois (excusez-moi si les abréviations en anglais ne sont pas exactes, mais ce n'est pas ma langue usuelle, j'espère toutefois qu'elles sont toujours de 3 lettres).

Je ne passe pas au-delà de l'an 2000 (tout comme Celeda d'ailleurs, hi, hi, hi, ...) : ainsi 23-apr-03 donne 19030423 et non 20030423.
Je crois qu'il il y aurait moyen de le faire, mais il faut d'abord fixer une plage de 100 années (par exemple 1910 à 2009 ou 1925 à 2024, ...) et imbriquer une fonction SI pour les années.

Ândré.
 

Pièces jointes

  • ConvertirDateV1.zip
    1.7 KB · Affichages: 19
M

Monique

Guest
Bonjour,

Formule complétée :
possibilité d'avoir un seul chiffre pour le jour,
année > 1999 si les 2 derniers chiffres donnent un nb < 30
année < 2000 sinon
 

Pièces jointes

  • ConvertirDateV2.zip
    1.9 KB · Affichages: 25
H

help

Guest
Monique,

la formule est excellente ... et je pense pas travailler en 2031 pour te donner tort ;°)

MErci Monique, merci à tous

@+ help.

"Si mon avenir est au conditionnel;
mes rêves sont au plus-que-parfait"
 
A

andré

Guest
Eh bien voilà, lorsque Monique passe, les autres s'éffacent (lol).

Help, tu as maintenant non seulement les apéritifs et les akouskis, mais également les désserts, le café, le pousse-café, les mignardises, le sourire de la crêmière, ...

Il y a-t-il quelqu'un qui se plaint ?

Ândré.
 

Statistiques des forums

Discussions
312 500
Messages
2 089 010
Membres
104 004
dernier inscrit
mista