Format de cellule
Résolu
nany974
Messages postés
52
Date d'inscription
Statut
Membre
Dernière intervention
-
Nany974 -
Nany974 -
Bonjour,
Dans excel, je voudrais changer une année en date (par exemple, 2003 est déjà dans la case et je voudrais qu'il se transforme en 01/01/2003) mais quand je change le format de cellule, de standard à date, excel me met automatiquement 25/06/1905.
Quelqu'un peut m'expliquer pourquoi ?
J'ai environ 500 fiches et j'ai aucunement envie de les modifier une à une.
Merci d'avance pour votre aide !!!
A bientôt.
Dans excel, je voudrais changer une année en date (par exemple, 2003 est déjà dans la case et je voudrais qu'il se transforme en 01/01/2003) mais quand je change le format de cellule, de standard à date, excel me met automatiquement 25/06/1905.
Quelqu'un peut m'expliquer pourquoi ?
J'ai environ 500 fiches et j'ai aucunement envie de les modifier une à une.
Merci d'avance pour votre aide !!!
A bientôt.
A voir également:
- Format de cellule
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- Excel cellule couleur si condition texte - Guide
7 réponses
Bonjour,
Pour excel une date est un nombre, c'est même le nombre de jours écoulés depuis la référence du 01/01/1900. Ce nombre peut être affiché sous différentes formes, ce sont les "Formats". Ici 2003 est le nombre de jous écoulés du 01/01/1900 au 25/06/1905.
Pour modifier il faut:
1- Sélectionner la cellule et taper 1/1/ devant 2003.
2- Changer le format standard en "aaaa".
Si les "fiches" sont des "Feuil" ou onglets d'un même classeur on peut économiser des manipulations avec une sélection multiple des onglets (en maintenant la touche shift ou la touche ctrl enfoncée).
Pour excel une date est un nombre, c'est même le nombre de jours écoulés depuis la référence du 01/01/1900. Ce nombre peut être affiché sous différentes formes, ce sont les "Formats". Ici 2003 est le nombre de jous écoulés du 01/01/1900 au 25/06/1905.
Pour modifier il faut:
1- Sélectionner la cellule et taper 1/1/ devant 2003.
2- Changer le format standard en "aaaa".
Si les "fiches" sont des "Feuil" ou onglets d'un même classeur on peut économiser des manipulations avec une sélection multiple des onglets (en maintenant la touche shift ou la touche ctrl enfoncée).
Bonjour,
une date pour excel est le nombre de jours depuis le 01/01/1900 (jour=1).
2003 est donc le 25/06/1905
Ci-joint une petite macro.
Ouvrir ce fichier, puis sur ta feuille sélectionner les cellules ou plages à convertir et faire Ctrl+d pour lancer la macro.
Par sécurité et pour te permettre de faire une sélection plus large seules sont traitées les cellules de la sélection :
- numériques (donc pas le résultat d'une formule)
- les valeurs comprises entre 1950 et 2060 (on peut modifier)
https://www.cjoint.com/?DJblCMGKVL6
Contrôler le résultat avant de sauvegarder.
eric
une date pour excel est le nombre de jours depuis le 01/01/1900 (jour=1).
2003 est donc le 25/06/1905
Ci-joint une petite macro.
Ouvrir ce fichier, puis sur ta feuille sélectionner les cellules ou plages à convertir et faire Ctrl+d pour lancer la macro.
Par sécurité et pour te permettre de faire une sélection plus large seules sont traitées les cellules de la sélection :
- numériques (donc pas le résultat d'une formule)
- les valeurs comprises entre 1950 et 2060 (on peut modifier)
https://www.cjoint.com/?DJblCMGKVL6
Contrôler le résultat avant de sauvegarder.
eric
Bonjour,
La solution décrite au #1 avec une sélection multiple des feuilles et la modification du contenu d'une cellule contenant 2003 fonctionne chez moi. Les cellules 01/01/2003 ne sont pas affectées.
Nota: ce n'est pas le cas avec Rechercher/remplacer.
La solution décrite au #1 avec une sélection multiple des feuilles et la modification du contenu d'une cellule contenant 2003 fonctionne chez moi. Les cellules 01/01/2003 ne sont pas affectées.
Nota: ce n'est pas le cas avec Rechercher/remplacer.
Bonjour,
A quoi Est-ce dû ?
Oupsss, je ne sais pas ce qu'il c'est passé avec CDate("019501/01/" & c.Value) mais c'est "01/01/" qu'il faut.
J'ai dû oublier de changer de fenêtre avant de vouloir écrire ailleurs.
Par sécurité si jamais tu as des années en texte on va compléter un peu:
eric
A quoi Est-ce dû ?
Oupsss, je ne sais pas ce qu'il c'est passé avec CDate("019501/01/" & c.Value) mais c'est "01/01/" qu'il faut.
J'ai dû oublier de changer de fenêtre avant de vouloir écrire ailleurs.
Par sécurité si jamais tu as des années en texte on va compléter un peu:
If clng(c) >= anMin And clng(c) <= anMax Then c = CDate("01/01/" & c.Value)
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai 500 onglets
La fonction ne devrait pas fonctionner pour une sélection 3D (sur plusieurs feuilles).
Si tu as des critères assez stricts (plages identiques pour toutes les feuilles, et/ou un texte à coté à détecter, etc ) pour ne pas modifier par erreur on voir peut balayer les feuilles si tu veux.
eric
La fonction ne devrait pas fonctionner pour une sélection 3D (sur plusieurs feuilles).
Si tu as des critères assez stricts (plages identiques pour toutes les feuilles, et/ou un texte à coté à détecter, etc ) pour ne pas modifier par erreur on voir peut balayer les feuilles si tu veux.
eric
merci tontong, ta solution est très bien, le seul hic c'est que j'ai 500 onglets ou feuilles dans un même document, certains sont déjà au bon format date (01/01/2003) et d'autres non, du coup je dois les vérifier une à une...
eriic, mille mercis aussi.
je viens de tester la petite macro malheureusement, j'ai un message d'erreur : erreur d'exécution 13 incomptatibilité de type
Sub convertDate()
' converti une année en date au 01/01
' pour toutes les cellules de la sélection
Const anMin As Long = 1960 'valeur min traitée
Const anMax As Long = 2050 'valeur max traitée
Dim c As Range
For Each c In Selection.SpecialCells(xlCellTypeConstants, xlNumbers)
If c >= anMin And c <= anMax Then c = CDate("019501/01/" & c.Value)
Next c
End Sub
A quoi Est-ce dû ?
J'ai pourtant pris la peine de vérifier le format de cellule (afin qu'il soit bien en nombre).
Peux-tu m'éclairer ?
Merci d'avance
eriic, mille mercis aussi.
je viens de tester la petite macro malheureusement, j'ai un message d'erreur : erreur d'exécution 13 incomptatibilité de type
Sub convertDate()
' converti une année en date au 01/01
' pour toutes les cellules de la sélection
Const anMin As Long = 1960 'valeur min traitée
Const anMax As Long = 2050 'valeur max traitée
Dim c As Range
For Each c In Selection.SpecialCells(xlCellTypeConstants, xlNumbers)
If c >= anMin And c <= anMax Then c = CDate("019501/01/" & c.Value)
Next c
End Sub
A quoi Est-ce dû ?
J'ai pourtant pris la peine de vérifier le format de cellule (afin qu'il soit bien en nombre).
Peux-tu m'éclairer ?
Merci d'avance