Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
@Pierrot93 : Ta question est pertinente. Le but de ma question est de vous soumettre une idée selon laquelle cette inversion du jour et du mois dans les dates serait causée uniquement par une conversion automatique ne se produisant que quand le type de la donnée est différent du type attendu par la cellule (Texte, Nombre, date) en fonction de sa propriété NumberFormat.
Ainsi, si le type de la donnée est String et que le type attendu par la cellule est Nombre ou Date, il y a toujours tentative de conversion. Et le résultat est soit faux, soit du Texte.
De la même façon, si le type de la donnée est Date et que le type attendu par la cellule est Texte, il y aura également conversion. Et le résultat est faux.
Voici un démo qui illustre les différents résultats obtenus selon le type de la variable (String ou Date) et le type de la cellule (Date, Nombre ou Texte)
CDate vers cellule Texte
CDate vers cellule Date
CDate vers cellule Nombre
Date String vers cellule Texte
Date String vers cellule Date
Date String vers cellule Nombre
Quand il y a conversion de la date (et c'est toujours au format américain lors), si le jour de la date est inférieur à 13, il y a inversion jour/mois, ce qui produit une erreur de date, sauf si le jour et le mois sont identiques bien sûr.
Si le jour est supérieur à 12, il ne peut pas y avoir d'inversion jour/mois. Mais la date n'est alors pas considérée comme une date, mais comme un simple texte.
@MJ13 : Merci pour ton petit fichier avec tableau comparatif de colonnes ayant des formats différents. Ça m'a inspiré pour étudier la suggestion de Efgé.
@Efgé : Merci pour ta solution (FormulaLocal) que tu disais magique et que tu me fais pour la seconde fois, je dois l'avouer. Cette fois-ci, je l'ai étudiée. Et c'est bien vrai : elle est magique.
Je joins un fichier qui permet de voir la facilité qu'apporte FormulaLocal pour traiter les dates en VBA par comparaisoin avec la propriété Value qui fonctionne bien pour le format de date américain, mais qui pose bien des problèmes au niveau local.
Les problèmes sont plus visibles pour les dates où le jour est entre 1 et 12 car c'est là que survient souvent l'inversion jour/mois.
Merci Gérard 🙂 pour ce nouveau fichier que je trouve un peu plus clair que le précédent.
Et merci à Efgé 🙂 pour ce formulaLocal qui pourrait aider certains qui ont ce type de problèmes.
Sinon, un truc qui fonctionne souvent pour importer des fichier .txt ou .csv avec des problèmes de dates inversées, il suffit d'ajouter dans le code d'importation générer par l'enregistreur de macros du texte à la fin ,Local:=true. Dès fois, cela fonctionne.
- 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