VBA Format Date

Bonjour,

J'ai un tableau croisé dynamique,

A la mise à jour, la ligne affiche les dates sous forme de nombres

J'ai fait un code qui demande un affichage au format date

' Mise à jour tableaux croisés et format date ligne 6

Sheets("Recap jour semaine").Select

ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh

Sheets("Recap jour semaine").Select

Rows("6:6").Select

Selection.NumberFormat = "d/m/yyyy"

Sheets("Recap mois").Select

ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh

Cela ne fonctionne pas,

La ligne 6 est bien sélectionnée mais le format ne change pas.

Si je le fais à la mano format/nombre/date court, excel exécute bien la demande.

Bref je ne comprends pas ou est l'erreur

Est-ce que dans ta source tu a bien un format date ?

Sinon tu peux faire manuellement :

  • cliquer sur date
  • paramètres du champ
  • format de nombre
et cela conserve la format ensuite.

capture d ecran 676

Mets un fichier simplifié si tu veux aller plus loin.

Bonjour

Je n'ai pu regarder la préconisation qu'à l'instant.

En l'occurrence je n'ai pas ce bouton "Format de nombre" dans le paramétrage du champ.

Si vous avez une idée de la manière de l'activer.

Je suis étonné ! peux-tu faire une copie partielle d'écran après avoir cliqué sur date ? et si besoin donner un extrait du fichier, anonymisé et pertinent.

Je suis étonné ! peux-tu faire une copie partielle d'écran après avoir cliqué sur date ? et si besoin donner un extrait du fichier, anonymisé et pertinent.

BOnjour AntoineS et Steelson

Sur un office 2003 çà existait déjà sauf que je devais cliquer sur une des dates avec le bouton droit et pas sur le titre pour

avoir le menu "Paramètre de champs" et à cet endroit d'un coté on choisissait si on voulait faire une somme moyenne ….

et de l'autre coté on pouvait "Masquer" pour cacher, et "Nombre" pour afficher le format

Voilà la copie écran:

ecran

Un fichier simplifié serait utile (sinon nous devons à chaque fois créer nous-même un modèle)

Le hic est que ce support considère mon fichier comme trop volumineux.

J'ai supprimé un maximum de lignes mais cela ne suffit pas 2,4Mo

Il y a plusieurs onglets, du MyReport, deux tableaux croisés; tout ceci est nécessaire je ne sais pas comment réduire

Le hic est que ce support considère mon fichier comme trop volumineux.

J'ai supprimé un maximum de lignes mais cela ne suffit pas 2,4Mo

Il y a plusieurs onglets, du MyReport, deux tableaux croisés; tout ceci est nécessaire je ne sais pas comment réduire

Pour l'exemple seul le tcd qui pose problème et sa base de données suffit ; les autres onglets on peut s'en

passer.

Et on peut réduire la BdD à un centaine de lignes !

Voilà, il n'y a plus grand chose du coup!

Surtout je ne sais pas si vous allez parvenir à reproduire le souci.

En effet, si j'applique cette macro

Sub test()

Sheets("Recap jour semaine").Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
Sheets("Recap jour semaine").Select
Rows("6:6").Select
Selection.NumberFormat = "0" '"d/m/yyyy"

End Sub

ou celle-ci

Sub test()

Sheets("Recap jour semaine").Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
Sheets("Recap jour semaine").Select
Rows("6:6").Select
Selection.NumberFormat = "d/m/yyyy"

End Sub

Cela fonctionne sur ton fichier.

Il faudrait voir si dans la colonne Date tu n'as pas de valeurs textuelles (ce qui n'est pas le cas dans l'extrait)

Il faudrait aussi passer tes données en tableau et restreindre la source du TCD au seul tableau (mais sans lien sans doute avec ton problème).

Dans l'état cela ne fonctionnait toujours pas même en passant par une valeur 0 avant de revenir au format date.

J'ai inversé les deux tableaux, je commence par mettre à jour le second puis le premier.

Bon il semble que cela fonctionne mais bon sans conviction.

J'en reste là

Merci pour votre aide

Rechercher des sujets similaires à "vba format date"