2 votes

VBA ne change pas le format de toutes les cellules

J'ai une colonne (col. I) avec des dates qui sont dans des formats différents :

16. Jul 98 // 22-MAR-2016 // 04-MAY-2015 //
17. Jul 10 // 13-DEC-2011 // 25. Aug 98  // 12. Sep 11

J'ai utilisé le code suivant pour changer le format :

Sub numberformats()
    Range("I:I").NumberFormat = "dd. mmm yyyy"
End Sub

Cependant, alors que cela fonctionnait bien sur les cellules au format jj. mmm aa, cela ne fonctionnait pas sur les cellules au format jj-mmm-aaa. Le changement de format par un simple clic droit - format de cellule n'a pas aidé non plus (c'était ma toute première étape, avant de passer à VBA).

J'ai fait une recherche sur Internet, mais toutes les réponses que j'ai trouvées sur des problèmes similaires étaient bien trop complexes pour que je puisse les adapter à mon problème. Je serais très heureux d'avoir des conseils (je suis un débutant absolu dans ce domaine...).

0voto

Vityata Points 30261

Cela se produit lorsque vous utilisez une version non anglaise d'Excel.

Par exemple, dans la version allemande, le 22.03.2016 est présenté comme suit 22.Mrz 16 . Ainsi, dans votre cas, Excel ne comprend pas que vous donnez une date, lorsque vous donnez 22-MAR-2016 . Le site UPPERCASE est un peu problématique.

C'est probablement une bonne idée de le changer en 22-Mar-2016 et réessayez, dans mon Excel, cela fonctionne très bien.

Pour voir ce que votre Excel comprend, allez dans Fichier>Options>Avancé>Listes définies par l'utilisateur. Vous y verrez ce qui suit : enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X