Comment convertir des dates dans un autre format ?

  • Initiateur de la discussion Initiateur de la discussion Yakusa
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Y

Yakusa

Guest
Bonjour à tous et à toutes,

Je souhaiterai convertir une liste de cellule de cette forme : jj/mm/aaaa
en x.x.x

exemple :
02/06/2001 -> 2.6.1

Merci d'avance
Cordialement,
 
Dernière modification par un modérateur:
Re : Comment convertir des dates dans un autre format ?

Bonjour le Forum,
Bonjour Yakusa,

si la date 02/06/2001 est en A1 tu peux mettre en B1 :

=JOUR(A1)&"."&MOIS(A1)&"."&ANNEE(A1)-2000

Jocelyn

Bonjour Shock désolé pour la collision
 
Re : Comment convertir des dates dans un autre format ?

Jocelyn à dit:
Bonjour le Forum,
Bonjour Yakusa,

si la date 02/06/2001 est en A1 tu peux mettre en B1 :

=JOUR(A1)&"."&MOIS(A1)&"."&ANNEE(A1)-2000

Jocelyn

Bonjour Shock désolé pour la collision

Merci aussi de ta réponse rapide Jocelyn 😀
c'est exactement ce que je voulais mais elle fais référence uniquement à la cellule A1 et ça me pose un petit problème 🙁

Je souhaiterai modifier la colonne entière dès qu'il vois le format jj/mm/aaaa car les cellules a modifier sont placés un peu partout et pas uniquement dans la cellule A1...

Merci encore une fois
 
Re : Comment convertir des dates dans un autre format ?

re bonjour,

c'est une formule a recopier en colonne B sur la hauteur de la colonne a ensuite tu peux masquer la colonne A

Autrement il doit bien y avoir une macro pour le faire mais la je cede la place

Jocelyn
 
Re : Comment convertir des dates dans un autre format ?

Jocelyn à dit:
re bonjour,

c'est une formule a recopier en colonne B sur la hauteur de la colonne a ensuite tu peux masquer la colonne A

Autrement il doit bien y avoir une macro pour le faire mais la je cede la place

Jocelyn

Bonsoir Jocelyn, le forum et les autres

Merci quand même d'avoir passé un peu de temps pour résoudre mon problème.
Voici un bout d'exemple de ma liste afin que les autres puisse m'aider 🙁

16/01/2001
NOT ALLOWED
18/06/01
ALLOWED
22/10/2004

Ce que je souhaiterait c'est avoir une macro qui modifie uniquement les cellules 1 - 3 - 5 en x.x.x.x (ex pour le 1er ce sera 16.1.1 et le 3e 18.6.1...

Etant donné que je ne sais pas par où commencer, j'ai fais des recherches sur le forum et un peu partout sur le net, j'ai appris qu'on pouvais utiliser FIND pour faire une recherche/remplacer...quelqu'un sait comment ça marche ou me proposer une autre solution car j'ai aucune piste 🙁

En vous remerciant d'avance,
Bonne nuit
 
Re : Comment convertir des dates dans un autre format ?

Bonsoir Yakusa, Shock, Jocelyn,

Une fonction personnalisée VBA :
Code:
[SIZE=2]Function Convert[COLOR=navy]Date[/COLOR](R[COLOR=navy] As [/COLOR]Range)[COLOR=navy] As String[/COLOR]
    Application.Volatile
    [COLOR=navy]If [/COLOR]Is[COLOR=navy]Date[/COLOR](R.Value) [COLOR=navy]Then[/COLOR]
        Convert[COLOR=navy]Date[/COLOR] = Format(R.Value, "d.m.") & year(R.Value) - 2000
    [COLOR=navy]End If
End[/COLOR] Function[/SIZE]
Où copier cette fonction et comment l'utiliser ?

- Tu fais ALT + F11 pour te retrouver dans l'éditeur VBA.
- Puis, menu Insertion / Module.
- Dans la fenêtre principale (la grande) tu colles le code ci-dessus.
- ALT + F11 à nouveau pour revenir dans Excel.
- En cellule B1, tu tapes la formule : =ConvertDate(A1)
- Puis, tu tires cette formule jusqu'en bas de ton tableau.

Cordialement,
 
Re : Comment convertir des dates dans un autre format ?

Bonsoir Yakusa, bonsoir Shock, bonsoir Jocelyn et bonsoir Didier 🙂

Une proposition semblable à la tienne, Didier, mais par macro et non par formule personnalisée. Yakusa, l'exemple que je te propose remplace tes dates par un texte du genre j.m.a :

Code:
[FONT=Courier New][COLOR=blue]Option Explicit[/COLOR]
 
[COLOR=blue]Sub[/COLOR] Bouton1_QuandClic()
[COLOR=green]'
'------------------[/COLOR]
[COLOR=blue]Dim[/COLOR] C    [COLOR=blue]As[/COLOR] Range
[COLOR=blue]Dim[/COLOR] Temp [COLOR=blue]As Variant[/COLOR]
[COLOR=green]'------------------
'[/COLOR]
  [COLOR=blue]With[/COLOR] ThisWorkbook.ActiveSheet
    [COLOR=blue]For Each[/COLOR] C [COLOR=blue]In[/COLOR] .Range("A2:A" & .Range("A65536").End(xlUp).Row)
      [COLOR=blue]If[/COLOR] IsDate(C) [COLOR=blue]Then[/COLOR]
        Temp = C
        C = Day(Temp) & "." & Month(Temp) & "." & (Year(Temp) - 2000)
      [COLOR=blue]End If[/COLOR]
    [COLOR=blue]Next[/COLOR] C
  [COLOR=blue]End With[/COLOR]
[COLOR=blue]End Sub[/COLOR][/FONT]

A+ 😉
 

Pièces jointes

Re : Comment convertir des dates dans un autre format ?

Bonjour Charly2, myDearFriend! et le forum

Tout d'abord un grand merci à Charly2, myDearFriend!, Jocelyn, Shock qui ont pris le temps de m'aider.
Très belle présentation du fichier joint de Charly2...un travail de pro quoi 😀

Bonne journée à vous tous et merci encore.
 
Re : Comment convertir des dates dans un autre format ?

Bonjour à tous et à toutes,

Encore merci à ceux qui m'ont répondu précédement...
J'ai opté pour la macro de charly2 qui fonctionne à merveille, du moins pour l'instant...
Après test, j'ai trouvé quelques erreurs d'Excel 🙁
La macro convertie bien les dates xx/xx/xxxx en x/x/x
mais elle convertie aussi les valeurs x.x.x en une autre valeur...

un exemple sera plus parlant :
Valeurs avant lancement de la macro : 4.12.1
Valeurs après lancement : 30.12.101

Est ce qu'il y a un moyen de définir à l'avance le format et qu'il change uniquement les dates du format xx/xx/xxxx ?

En vous remerciant d'avance
Bien cordialement,
 
Re : Comment convertir des dates dans un autre format ?

Salut,
tu peux modifier le code de Charly2 comme suit :
Code:
Option Explicit
 
Sub Bouton1_QuandClic()
'
'------------------
Dim C    As Range
Dim Temp As Variant
'------------------
'
  With ThisWorkbook.ActiveSheet
    For Each C In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
      If C.Value Like "*.*" Then
      GoTo suite
      End If
      If IsDate(C) Then
        Temp = C
        C = Day(Temp) & "." & Month(Temp) & "." & (Year(Temp) - 2000)
      End If
suite:
    Next C
  End With
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
201
Réponses
7
Affichages
288
Réponses
3
Affichages
405
Réponses
7
Affichages
649
Réponses
5
Affichages
470
Réponses
3
Affichages
257
Retour