XL 2013 Convertion date avec et sans heures

  • Initiateur de la discussion Initiateur de la discussion Attila451
  • 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 !

Attila451

XLDnaute Occasionnel
Bonsoir,
J'extraie d'un logiciel un reporting sur lequel certaines dates ressortent avec l'heure, d'autres non.
La formule excel TEXTE(cellule;"JJ/MM/AAAA") fonctionne sans problème, par contre, via une macro ça me pose quelques problèmes:
Dans une boucle je mets
Format(Cells(ligori, 1), "dd/mm/yyyy")

SI j'ai une date type 22/11/2019 10:00:00, la boucle remplace en 22/11/2019
par contre, pour tous les jours < à 12, y'a un pb
Ex: 02/12/2019 qui se traduit en 12/02/2020... alors que la formule classique excel ne pose pas de pb... Si qq'un pouvait m'expliquer pourquoi ??

J'ai la parade avec un IF le nombre de carractères > 10 alors la macro applique Format(Cells(ligori, 1), "dd/mm/yyyy")
mais la version ci jointe est très raccourcie et ça me pose problème de l'appliquer sur x colonne qui ne se suivent pas.

Bref, j'aimerais que Format(Cells(ligori, 1), "dd/mm/yyyy") n'inverse pas les jours et mois pour un date style
02/12/2019

Merci d'avance pour vos lumières !
 

Pièces jointes

Bonjour
Je n'ouvre jamais un classeur tiers et n'ai donc pas ouvert le tien.
Ce que tu rapportes donne à penser que tu as chercher à formater (par fonction Format) le contenu d'une cellule contenant une valeur date.
Je te rappelle que la fonction format retourne une valeur de type string et non une date.
Il est vraisemblable que tu devrais utiliser non le formatage de la valeur, mais celui de la cellule (numberformat).
 
Bonjour

Ce n'est pas une bonne idée de convertir des dates en texte

Utilise la partie entière : INT(Cells(ligori, 1))

(Après avoir corrigé A11 qui est en texte)
Bonsoir,
Merci mais vous l'appliquez comment sur la macro ?

Sub Format_Texte()
Dim ligori As Long
ligori = 11
While Cells(ligori, 1) <> ""
Cells(ligori, 2) = NumberFormat(Cells(ligori, 1))
ligori = ligori + 1
Wend
End Sub

Je plante ou ?
Merci
 
Bonsoir,
Merci mais vous l'appliquez comment sur la macro ?

Sub Format_Texte()
Dim ligori As Long
ligori = 11
While Cells(ligori, 1) <> ""
Cells(ligori, 2) = NumberFormat(Cells(ligori, 1))
ligori = ligori + 1
Wend
End Sub

Je plante ou ?
Merci


Pardon:


Sub Format_Texte()

Dim ligori As Long
ligori = 11

While Cells(ligori, 1) <> ""

Cells(ligori, 1) = Int(Cells(ligori, 1))
ligori = ligori + 1

Wend

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

Discussions similaires

Réponses
2
Affichages
1 K
Retour