IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Que mettre dans une cellule pour que estvide soit vrai [Toutes versions]


Sujet :

Excel

  1. #1
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut Que mettre dans une cellule pour que estvide soit vrai
    Bonjour.

    J'ai une cellule A1 dont le contenu est rempli par une formule, du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    A1: =si(<montest>;<quelque chose>;<rien>)
    et une autre cellule A2 où je voudrais tester la "vacuité" de A1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    A2: =si(<vacuité>(A1);<une valeur>;<une autre valeur>)
    Ma question est: que dois-je mettre à la place de <rien> pour pouvoir utiliser la fonction "estvide" à la place de <vacuité> ?

    J'ai déjà le contournement suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    A1: =si(<montest>;<quelque chose>;"")
    A2: =si(A1="";<une valeur>;<une autre valeur>)
    mais j'aimerais, autant que possible, utiliser bêtement la fonction "estvide":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    A1: =si(<montest>;<quelque chose>;<rien>)
    A2: =si(estvide(A1);<une valeur>;<une autre valeur>)
    J'ai déjà essayé avec "" ou "na()" (sans les guillemets) à la place de <rien>, mais le test estvide(A1) retourne alors faux.

    Est-ce possible sans macro ni vba?

    merci d'avance
    )jack(

  2. #2
    Membre confirmé Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 353
    Points : 633
    Points
    633
    Par défaut
    Bonjour jack-ft,

    La cellule que tu testes contient une formule elle n'est donc pas vide. Excel ne peut pas comprendre différemment que cette logique.

    Il faut donc utiliser le subterfuge du "" pour passer cette difficulté.

    Bertrand

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par Bear the french Voir le message
    Bonjour jack-ft,

    La cellule que tu testes contient une formule elle n'est donc pas vide. Excel ne peut pas comprendre différemment que cette logique.
    Merci pour cette réponse.

    Je ne sais pas comment Excel gère en interne les formules, mais, pour moi, il y a une nuance entre la formule "attribuée" à la cellule et le résultat de "l'évaluation" de la formule attribuée à la cellule. (je ne sais pas si ce sont les bons termes (n'oublions pas que je ne suis qu'un lispien!)).
    Lorsque la formule attribuée à la cellule A2 fait référence à la cellule A1, en fait, elle fait référence au "résultat" du calcul de la formule attribuée à A1.

    Tiens, à propos, est-il possible de référencer le texte de la formule d'une cellule? Existe-t-il une fonction "eval" ou "execute" permettant d'évaluer un texte censé être une formule?

    En fait, je ne vois pas de raison a priori qui empêcherait qu'une cellule possède une formule et que le résultat de l'évaluation de cette formule retourne la valeur qui fait que estvide rende vrai... sauf si le prédicat estvide retourne systématiquement faux dès qu'une cellule possède une formule, quel que soit le résultat de l'évaluation de la formule de la cellule!
    (j'ai l'impression que c'est super-clair, ce que j'essaie d'exprimer...)

    Il faut donc utiliser le subterfuge du "" pour passer cette difficulté.

    Bertrand
    Je crois que c'est ce que je vais faire! ça a le mérite d'être simple!

    Encore merci

    )jack(

  4. #4
    Membre confirmé Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 353
    Points : 633
    Points
    633
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    ...sauf si le prédicat estvide retourne systématiquement faux dès qu'une cellule possède une formule, quel que soit le résultat de l'évaluation de la formule de la cellule!
    Exactement ça : formule ou résultat d'une formule --> la cellule n'est pas vide. Je me souviens avoir déjà vu ce sujet par le passé, c'est pourquoi j'en connais la réponse. Il suffit de le savoir, après on fait avec ce postulat.

    Bertrand

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    salut
    je pense que tu traite du texte, et que tu ne veux donc pas te fier aux valeurs de celule mais a leur contenu ( je me trompe peut etre)
    tu peux essayer en A1
    =SI(B1=1;"texte" ; )
    zn A2
    =SI(ESTTEXTE(A1);"vrai";"faux")
    dans ce cas A1 contient soit un texte soit un booleen ( je veux dire differend de
    =SI(B1=1;"texte";"faux") parce que dans ce cas "faux" est texte
    et donc la deuxieme formule peut tenir compte de cette difference

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par alsimbad Voir le message
    salut
    je pense que tu traite du texte, et que tu ne veux donc pas te fier aux valeurs de celule mais a leur contenu ( je me trompe peut etre)
    Euh... je ne suis pas sûr de bien voir la différence entre valeur et contenu d'une cellule!?!

    En fait, je traite des dates.

    J'ai essayé (sur une cellule normale (pas date)):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    A1: =SI(B1=1;"texte" ; )
    A2: =SI(ESTVIDE(A1);"vide";"pas vide")
    Et ça marche!... presque...
    Il affiche bien "vide" dans A2, ce qui prouve qu'il considère A1 comme vide!
    Le seul problème, c'est qu'il affiche "0" dans A1!
    Du coup, j'ai essayé de mettre explicitement 0 dans A1 et j'obtiens exactement le même résultat avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    A1: =SI(B1=1;"texte" ; 0)
    A2: =SI(ESTVIDE(A1);"vide";"pas vide")
    J'en conclus que, pour Excel, la valeur vide est 0!

    Le problème, c'est que, comme ma cellule A1 est formatée comme une date, lorsque la condition de vacuité est réalisée, la formule insère la valeur '0', ce qui s'affiche comme "vendredi 1 janvier 1904" et non comme rien ainsi que je préfèrerais!

    Conclusion: je m'en tiens à l'affectation de "" dans A1 et au test de vacuité de A1 sous la forme A1=""... mais, au moins, je sais pourquoi!

    merci à tous
    )jack(

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    essaye en enlevant l'option d'affichage des zéro

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [OLAP] Que mettre dans une table d'agrégats ?
    Par marchand_de_sable dans le forum Approche théorique du décisionnel
    Réponses: 77
    Dernier message: 14/10/2016, 22h25
  2. Réponses: 2
    Dernier message: 20/11/2014, 10h24
  3. [XL-2010] Afficher une autre valeur que #REF! dans une cellule
    Par Sore06 dans le forum Excel
    Réponses: 3
    Dernier message: 30/09/2014, 08h56
  4. Que mettre dans une DAL et dans une BLL
    Par touftouf57 dans le forum C#
    Réponses: 8
    Dernier message: 12/10/2009, 02h09
  5. Réponses: 12
    Dernier message: 14/05/2008, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo