Bonjour,
J'ai des dates écrite en toute lettre de B2:E25 que j'aimerai convertir sous cette forme : XX/XX/XXXX dans la colonne I.
Connaissez-vous une macro qui puisse effectuer cette conversion svp ?
Pièce jointe 397758
Version imprimable
Bonjour,
J'ai des dates écrite en toute lettre de B2:E25 que j'aimerai convertir sous cette forme : XX/XX/XXXX dans la colonne I.
Connaissez-vous une macro qui puisse effectuer cette conversion svp ?
Pièce jointe 397758
Bonjour,
une recherche ne fait jamais de mal
https://www.developpez.net/forums/d4...is-partir-nom/
c'est loin d'être le seul sujet
Bonjour
Sans VBA essayer la formule suivante en I2 :
Citation:
=DATE(E2;MOIS(1&D2);C2)
Bonjour,
je ne suis pas pour utiliser DateValue ou même =DATE(E2;MOIS(1&D2);C2) qui sont trop lié au paramètres régionaux!
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Public LesMois As Object Public Property Get MyMois(m As String) As Integer If TypeName(LesMois) = "Nothing" Then Set LesMois = CreateObject("Scripting.Dictionary") LesMois("Janvier") = 1 LesMois("Février") = 2 LesMois("Mars") = 3 LesMois("Avril") = 4 LesMois("Mai") = 5 LesMois("Juin") = 6 LesMois("Juillet") = 7 LesMois("Août") = 18 LesMois("Septembre") = 9 LesMois("Octobre") = 10 LesMois("Novembre") = 11 LesMois("Décembre") = 12 End If MyMois = LesMois(m) End Property Public Function MyDate(j, m, y) As Date MyDate = DateSerial(y, MyMois(CStr(m)), j) End Function
Bonjour dysorthographie, la forum
sauf erreur de ma part , j'ai tester ton code mais ne donne pas le résultat souhaité
Bonjour BENNASR,
Pièce jointe 397769
Bonjour,
Nul besoin de code, il suffit de mettre des mois dans une colonne que l'on aura choisie/déterminée à partir de la ligne 1 :
Janvier Février Mars Avril Mai Juin Juillet Août Septembre Octobre Novembre Décembre
Puis ensuite de mettre une formule à étirer (mes mois sont en colonne L) :
Edit : coucou Robert on s'est croiséCode:=DATE($E2;EQUIV($D2;$L$1:$L$12;0);$C2)
PS : j'ai pas testé mais pas sur que Date pour le mois prenne le nom de celui-ci
méa culpa, autant pour moi c'est la fonction de ton code (en lisant vite j'ai confondu avec la formule) :oops:
:plusser: Robert
re
Une faute de ma part ! ça fonctionne correctement
bonne journée
Bonjour BENNASR,
:plusser: pour ta formule, je ne connaissais pas =>
Code:=DATE(E2;MOIS(1&D2);C2)
Bonjour,
par formule on a aussi :
ericCode:=DATEVAL(C2&D2&E2)
Je viens de tester ça :
Et je suis très surpris que ça fonctionne avec des noms de mois en français (j'ai testé tous les mois) malgré la francophobie de VBA.Code:Range("I2") = Datevalue(Range("C2") & " " & Range("D2") & " " & Range("E2"))
On a parfois de bonnes surprise.
bonjour
si si
avec datevalue vba reconnait les mois en lettre selon la langue du sytem bien evidement
01/september/2018 ne fonctionnerea pas sur un PC francais 01/septembre/2018 oui et inversement pour un pc US meme sans passer par une cellule
et cela meme en format mois/jour/année
parcontre l'orthographe des mois doit etre scrupuleuseument respecté
exemple le mois d'aout sans accent declenchera une incompatibilité de type
ps: j'oubliais il reconnait seulement l'espace,le tiret,le slash comme separateurCode:
1
2
3
4
5
6
7
8
9 Sub test() 'afficher une date en format date (string to date) MsgBox DateValue([A1] & " " & [B1] & " " & [C1]) MsgBox DateValue([A1] & "/septembre/" & [C1]) MsgBox DateValue([A1] & " Août " & [C1]) MsgBox DateValue("septembre/" & [A1] & "/" & [C1]) 'convertir le mois en lettre to numerique MsgBox Month(DateValue("septembre/" & [A1] & "/" & [C1])) End Sub
Bonsoir,
eriiic :plusser: je ne connaissais pas non plus la formule sous cette forme et cela peut être très utile.
Menhir :plusser: :ccool: d'avoir soulever le ce qu'il en était en VBA
Patrick :plusser: d'avoir détaillé le principe d'utilisation en VBA
tout cela servira à tout le monde, dont moi ;)
amicalement
Ryu