Excel fonction si avec date
Fermé
Rhl
-
1 mars 2008 à 23:07
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 2 mars 2008 à 00:21
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 2 mars 2008 à 00:21
A voir également:
- Excel fonction si avec date
- Fonction si et - Guide
- Liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
- Fonction moyenne excel - Guide
- Aller à la ligne excel - Guide
9 réponses
Fxbrg
Messages postés
710
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
16 novembre 2013
199
1 mars 2008 à 23:29
1 mars 2008 à 23:29
Bonsoir,
Peut-il y avoir autre chose qu'une date en D33?
Peut-il y avoir autre chose qu'une date en D33?
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 708
1 mars 2008 à 23:33
1 mars 2008 à 23:33
bonjour
Essaies plutôt ceci :
Il n'y a pas de formule comme en macro pour tester que c'est une date mais si tu essaies de trouver le jour d'une cellule qui n'est pas une date, tu sors en erreur.
Essaies plutôt ceci :
=SI(ET(NON(ESTERREUR(JOUR(Ctlm!D33)));Ctlm!E33="");Ctlm!C33;0)
Il n'y a pas de formule comme en macro pour tester que c'est une date mais si tu essaies de trouver le jour d'une cellule qui n'est pas une date, tu sors en erreur.
Bonjour,
Je ne connais pas de formule qui reconnaisse le format de données dans une cellule ( date ou nombre ou texte )
mais si la cellule Ctln!D33 est toujours une date alors cette formule fera l'affaire
=SI(ET(Ctlm!D33<>"";Ctlm!E33="");Ctlm!C33;0)
Bonne soirée.
Je ne connais pas de formule qui reconnaisse le format de données dans une cellule ( date ou nombre ou texte )
mais si la cellule Ctln!D33 est toujours une date alors cette formule fera l'affaire
=SI(ET(Ctlm!D33<>"";Ctlm!E33="");Ctlm!C33;0)
Bonne soirée.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 708
>
Rhl
2 mars 2008 à 00:10
2 mars 2008 à 00:10
bonjour
=SI(ET(Ctlm!D33<>"";Ctlm!E33="");Ctlm!C33;0)
Cette formule fonctionne bien sûr mais si tu fais une erreur de saisie de date en tapant du texte par exemple ou en oubliant les séparateurs dans la date, rien ne sera contrôlé !
=SI(ET(Ctlm!D33<>"";Ctlm!E33="");Ctlm!C33;0)
Cette formule fonctionne bien sûr mais si tu fais une erreur de saisie de date en tapant du texte par exemple ou en oubliant les séparateurs dans la date, rien ne sera contrôlé !
Fxbrg
Messages postés
710
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
16 novembre 2013
199
1 mars 2008 à 23:39
1 mars 2008 à 23:39
J'ai trouvé :-)
Il faut utiliser le test avec la fonction Cellule("format"; a1); Selon la format de la date, tu récupères un code (D1 par exemple si la date est au format jj-mm-aaaa). Regarde dans l'aide de la fonction cellule, tout est dit :-)
:-)
Il faut utiliser le test avec la fonction Cellule("format"; a1); Selon la format de la date, tu récupères un code (D1 par exemple si la date est au format jj-mm-aaaa). Regarde dans l'aide de la fonction cellule, tout est dit :-)
:-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 708
2 mars 2008 à 00:02
2 mars 2008 à 00:02
bonjour Fxbrg,
Il faut utiliser le test avec la fonction Cellule("format"; a1); Selon la format de la date, tu récupères un code (D1 par exemple si la date est au format jj-mm-aaaa).
Tu as tout à fait raison d'évoquer cette fonction peu utilisée mais elle ne rempli pas bien son rôle :
- tu rentres dans la cellule 1/3/8 et tu obtiens D1 car le format date a été appliqué.
- Maintenant saisis dans la même cellule "12345678"
- tu vas avoir des # d'affichage mais ta formule arbore toujours fièrement D1
- il en est de même si tu saisis du texte car la cellule a conservé le format date.
Ce n'est donc pas fiable pour tester le contenu de la cellule.
Il faut utiliser le test avec la fonction Cellule("format"; a1); Selon la format de la date, tu récupères un code (D1 par exemple si la date est au format jj-mm-aaaa).
Tu as tout à fait raison d'évoquer cette fonction peu utilisée mais elle ne rempli pas bien son rôle :
- tu rentres dans la cellule 1/3/8 et tu obtiens D1 car le format date a été appliqué.
- Maintenant saisis dans la même cellule "12345678"
- tu vas avoir des # d'affichage mais ta formule arbore toujours fièrement D1
- il en est de même si tu saisis du texte car la cellule a conservé le format date.
Ce n'est donc pas fiable pour tester le contenu de la cellule.
Fxbrg
Messages postés
710
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
16 novembre 2013
199
2 mars 2008 à 00:04
2 mars 2008 à 00:04
Si, il est dit dans l'aide qu'il faut recalculer la feuille en cas de changement de format... (F9). Je me dis que normalement, une fois rentrée et d'autant plus si on n'attend qu'une date, on ne va changer le format de la cellule...
:-)
:-)
Fxbrg
Messages postés
710
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
16 novembre 2013
199
2 mars 2008 à 00:06
2 mars 2008 à 00:06
Si l'argument type_info de la formule CELLULE est « format » et que, par la suite, la cellule est mise en forme à l'aide d'un format personnalisé, vous devez recalculer la feuille de calcul pour mettre à jour la formule CELLULE.
Fxbrg
Messages postés
710
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
16 novembre 2013
199
2 mars 2008 à 00:19
2 mars 2008 à 00:19
Oops désolé gbinforme, j'avais lu ta remarque trop vite... :-)
Effectivement, la fonction est d'autant moins fiable que si tu ne mets rien mais garde la mise en forme, elle ne dit rien...pas top!
Il est tard, bonne nuit à tous,
:-)
Effectivement, la fonction est d'autant moins fiable que si tu ne mets rien mais garde la mise en forme, elle ne dit rien...pas top!
Il est tard, bonne nuit à tous,
:-)
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 708
2 mars 2008 à 00:21
2 mars 2008 à 00:21
bonjour
On est bien d'accord cette formule restitue le format (sans tenir compte de façon explicite du changement car le format ne déclenche pas le calcul ) mais tu ne peux en aucune manière tester le contenu de la cellule.
Si dans cette cellule tu dois vérifier la présence d'une date pour calculer un age par exemple, si tu mets ta formule :
=SI(CELLULE("format";A1)="D1";B1-A1;"erreur")
elle va te donner #valeur! au lieu du résultat attendu : ton contrôle n'a pas de valeur car il ne donne que le format.
On est bien d'accord cette formule restitue le format (sans tenir compte de façon explicite du changement car le format ne déclenche pas le calcul ) mais tu ne peux en aucune manière tester le contenu de la cellule.
Si dans cette cellule tu dois vérifier la présence d'une date pour calculer un age par exemple, si tu mets ta formule :
=SI(CELLULE("format";A1)="D1";B1-A1;"erreur")
elle va te donner #valeur! au lieu du résultat attendu : ton contrôle n'a pas de valeur car il ne donne que le format.
1 mars 2008 à 23:31
Je vous remercie
Rhl