chnager format des dates sur une feuille²

pascal_bidouille

XLDnaute Junior
Bonjour,

J'ai une feuille qui contient diverses données : nombres, textes, dates ... en grande quantité.
Existe-t-il un moyen de changer le format des dates sur cette feuille ?
Je précise :
- uniquement sur cette feuille
- uniquement pour les dates
- et sans avoir à sélectionner les dates une par une bien sûr (!)

Pour aller plus loin, est-il possible de faire la même chose uniquement sur une zone de la feuille ? (zone qui contiendrait bien sûr aussi un mix de donnée date et autres)

Merci d'avance
 

Victor21

XLDnaute Barbatruc
Re : chnager format des dates sur une feuille²

Bonjour.

FI nous dit :
IsDate, fonctionRenvoie une valeur de type Boolean qui indique si une expression peut être convertie en
date.
IsDate(expression)
L'argument expression
est une valeur de type Variant
contenant une expression de date ou une
expression de chaîne qui peut être
interprétée comme une date ou une heure.
Remarques
La fonction IsDate renvoie la valeur True si
l'expression est une date ou peut être reconnue en tant que date ; sinon elle
renvoie la valeur False. Dans Microsoft Windows, la plage des dates
valides s'étend du 1[SUP]er[/SUP] janvier 100 au 31 décembre 9999. Les plages
varient en fonction des systèmes d'exploitation.
 

Modeste geedee

XLDnaute Barbatruc
Re : chnager format des dates sur une feuille²

Bonsour®
on pourrait envisager une utilisation des expressions régulières pour détecter un format de date...:cool:

:rolleyes:
plus simplement (peut-être faillible...)
un macro agissant sur la sélection en cours :
VB:
Sub ChangerFormat()
Dim cell As Range
For Each cell In Selection
    If cell.NumberFormat Like "*h:*" _
        Or cell.NumberFormat Like "*m:*" _
        Or cell.NumberFormat Like "*s*" Then
           '  --------mettre si besoin la ligne suivante en commentaire
            cell.Interior.Color = vbGreen
            ' ------- mettre ici le format horaire souhaité
            cell.NumberFormat = "[hh]:mm:ss"
            GoTo suite
    End If
    If cell.NumberFormat Like "*m*" _
            Or cell.NumberFormat Like "*yy*" _
            Or cell.NumberFormat Like "*d*" _
        Then
            '  --------mettre si besoin la ligne suivante en commentaire
            cell.Interior.Color = vbCyan
            '  ------- mettre ici le format de date souhaité
            cell.NumberFormat = "dddd d mmmm yyyy"
    End If
suite:
Next
End Sub
 

pascal_bidouille

XLDnaute Junior
Re : chnager format des dates sur une feuille²

ok merci, c'est un peu ce que je craignait...
Point de salut sans passer par une macro.
J’espérai une solution plus "native" de excel.
Je voulais un peu éviter de balayer toutes les cellules car mon fichier est plutôt volumineux type 500 colonnes et plus de 10000 lignes.
 

Modeste geedee

XLDnaute Barbatruc
Re : chnager format des dates sur une feuille²

Bonsour®
ok merci, c'est un peu ce que je craignait...
Point de salut sans passer par une macro.
J’espérai une solution plus "native" de excel.
Je voulais un peu éviter de balayer toutes les cellules car mon fichier est plutôt volumineux type 500 colonnes et plus de 10000 lignes.

:rolleyes:
quand on parle de balayer ou de boucle :
2 solutions sont envisageables :
- Formules matricielles
- Macros

dans le cas de quantités importantes de formules matricielles,
la solution macro devient la seule réaliste...

Dans ce cas il est d'ailleurs plus simple en terme de maintenance de favoriser la solution macro qui peut alors être commentée
eu égard à la concision souvent hermétique de formule matricielles

:rolleyes: pour R@chid ça ne compte pas, il est tombé dedans quand il était petit... ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 355
Messages
2 087 550
Membres
103 588
dernier inscrit
Tom59300Tom