Format de cellule
Résolu/Fermé
nany974
Messages postés
52
Date d'inscription
jeudi 28 février 2013
Statut
Membre
Dernière intervention
1 juillet 2022
-
1 oct. 2014 à 10:00
Nany974 - 2 oct. 2014 à 16:50
Nany974 - 2 oct. 2014 à 16:50
A voir également:
- Format de cellule
- Format epub - Guide
- Telecharger format factory - Télécharger - Conversion & Codecs
- Format apfs - Guide
- Excel cellule couleur si condition texte - Guide
- Hp format tool - Télécharger - Stockage
7 réponses
tontong
Messages postés
2569
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
22 janvier 2025
1 059
1 oct. 2014 à 11:24
1 oct. 2014 à 11:24
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).
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
1 oct. 2014 à 11:27
1 oct. 2014 à 11:27
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
tontong
Messages postés
2569
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
22 janvier 2025
1 059
2 oct. 2014 à 11:40
2 oct. 2014 à 11:40
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.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
2 oct. 2014 à 16:23
2 oct. 2014 à 16:23
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
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
2 oct. 2014 à 16:46
2 oct. 2014 à 16:46
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
nany974
Messages postés
52
Date d'inscription
jeudi 28 février 2013
Statut
Membre
Dernière intervention
1 juillet 2022
16
2 oct. 2014 à 10:39
2 oct. 2014 à 10:39
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
nany974
Messages postés
52
Date d'inscription
jeudi 28 février 2013
Statut
Membre
Dernière intervention
1 juillet 2022
16
2 oct. 2014 à 16:36
2 oct. 2014 à 16:36
tontong, j'ai du louper qqchose car chez moi, ça ne marche pas.
eriiic, ça marche !!!!
10 000 mercis à tous les 2 ! vous êtes mes sauveurs
A bientôt !!!
eriiic, ça marche !!!!
10 000 mercis à tous les 2 ! vous êtes mes sauveurs
A bientôt !!!