Transformation des dates quand application macro...???

Fermé
Signaler
Messages postés
8
Date d'inscription
lundi 3 avril 2017
Statut
Membre
Dernière intervention
26 avril 2017
-
Messages postés
8
Date d'inscription
lundi 3 avril 2017
Statut
Membre
Dernière intervention
26 avril 2017
-
Bonjour à tous,
Je suis en train de monter une macro pour automatiser la mise en forme de données.
Le problème qui semble connu :
Dans ma première colonne ("Date"), j'ai des dates sous format : 'dd/mm/aaaa.
J'applique donc une formule pour supprimer le " ' " et les " " mais la macro transforme me date en mm/dd/aaaa...
Je chercher la solution mais rien ne fonctionne.

Voici mon code :
Sub FormatDates()
Sheets("Données brutes").Select
Cells.Replace What:="'", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub


Pouvez-vous m'aider ?

1 réponse

Messages postés
218
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
15 juillet 2019
20
Bonjour,

Utilise l'instruction :

Selection.NumberFormat = "dd/mm/yyyy;@"

K
0
Messages postés
8
Date d'inscription
lundi 3 avril 2017
Statut
Membre
Dernière intervention
26 avril 2017

Voici le code que j'ai rentré :
 Sub FormatDates()
Sheets("Données brutes").Select
Cells.Replace What:="'", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Columns("A:A").Select
Selection.NumberFormat = "dd/mm/yyyy;@"
End Sub


J'ai toujours le même problème. Le 9 mars devient le 3 septembre...
0
Messages postés
218
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
15 juillet 2019
20 >
Messages postés
8
Date d'inscription
lundi 3 avril 2017
Statut
Membre
Dernière intervention
26 avril 2017

Bonjour,

Oui, je comprend, puisque l'instruction Cells.Replace formatte la cellule visé.

Il te faut plutôt balayer la colonne et formatter la cellule en capturant le
contenu dans une variable, tu effectue le formattage sur la variable,
tu formatte la cellule avec l'instruction que je t'ai fournit et enfin tu réaffecte la variable à la cellule.

Le problème vient de l'environnement de Microsoft qui veut absolument
contrôler la Culture "Langue et clavier" de ton environnement.

Il y a du bon et du mauvais dans toute chose.
Les instructions toute faite sont parfois à contre-courant.
Dans ces cas précis, vaut mieux effectuer le travail soi-même par
programmation.

K
0
Messages postés
8
Date d'inscription
lundi 3 avril 2017
Statut
Membre
Dernière intervention
26 avril 2017

Alors là, merci... mais cela dépasse largement mes compétences...
Je suis bien incapable de faire ce que tu préconises.
0