OVH Cloud OVH Cloud

Fonction Si, valeur 0 et valeur vide ""

3 réponses
Avatar
ManBas
Bonjour,
Je voudrais une explication "pour les nuls" SVP!
Pourquoi la fonction Si ne fonctionne-t-elle pas de manière identique selon
que l'on indique une cellule de la feuille ou une cellule d'une autre
feuille?
Par exemple:
=SI(A1=0;A2;"") renvoie "" quand A1=""
mais
=SI(Feuil2!A1=0;A2;"") renvoie A2 quand Feuil2!A1=""
(ça m'énerve!)
Ai-je loupé un épisode?
Merci

3 réponses

Avatar
MichDenis
Bonjour Manbas,


Le format Standard d'une cellule c'est comme le format "Type de variable = Variant" en VBA, tu peux y mettre ce que tu veux et excel
tente de déterminer ce qu'il y a dedans. Comme la cellule est vide, excel considère que la valeur saisie pourrait être du texte et
dans ce cas, tu devrais faire ce test : si(A1="" ...) "" représente absence d'une chaîne de caractère - OU- la valeur saisie
pourrait être des nombres et dans ce cas, tu devrais faire ce test : si(A1=0; ...) 0 valeur numérique nulle !

Pour solutionner la chose, tu dois évaluer les 2 possibilités :

Si((A1="")*(A1=0)=1;vrai;faux)

Mais si tu veux par faire le test qui précède, tu te dois d'appliquer un format Nombre à ta cellule Alors, tu pourrais tester
seulement si(A1=0;....) attention si tu testes si(A1="";....) avec un format nombre, tu auras une erreur ...une cellule numérique
dénudé de sa valeur n'égale pas "" mais 0

Faut quand même pas mettre le format de la cellule à "Texte" pour tester l'autre possibilité ! ;-))


Salutations!



"ManBas" a écrit dans le message de news:
Bonjour,
Je voudrais une explication "pour les nuls" SVP!
Pourquoi la fonction Si ne fonctionne-t-elle pas de manière identique selon
que l'on indique une cellule de la feuille ou une cellule d'une autre
feuille?
Par exemple:
=SI(A1=0;A2;"") renvoie "" quand A1=""
mais
=SI(Feuil2!A1=0;A2;"") renvoie A2 quand Feuil2!A1=""
(ça m'énerve!)
Ai-je loupé un épisode?
Merci
Avatar
ROCHE Pierre
Bonjour,
la fonction ESTVIDE() serait pas mal je pense

=SI(ESTVIDE(A1);A2;"")
et
SI(ESTVIDE(Feuil2!A1);A2;"")

Cordialement

"ManBas" a écrit dans le message de news:

Bonjour,
Je voudrais une explication "pour les nuls" SVP!
Pourquoi la fonction Si ne fonctionne-t-elle pas de manière identique
selon que l'on indique une cellule de la feuille ou une cellule d'une
autre feuille?
Par exemple:
=SI(A1=0;A2;"") renvoie "" quand A1=""
mais
=SI(Feuil2!A1=0;A2;"") renvoie A2 quand Feuil2!A1=""
(ça m'énerve!)
Ai-je loupé un épisode?
Merci



Avatar
ManBas
Merci à tous les deux pour le cours.
J'en ferai bon usage.
Trés amicalement.

"ROCHE Pierre" a écrit dans le message de news:

Bonjour,
la fonction ESTVIDE() serait pas mal je pense

=SI(ESTVIDE(A1);A2;"")
et
SI(ESTVIDE(Feuil2!A1);A2;"")

Cordialement

"ManBas" a écrit dans le message de news:

Bonjour,
Je voudrais une explication "pour les nuls" SVP!
Pourquoi la fonction Si ne fonctionne-t-elle pas de manière identique
selon que l'on indique une cellule de la feuille ou une cellule d'une
autre feuille?
Par exemple:
=SI(A1=0;A2;"") renvoie "" quand A1=""
mais
=SI(Feuil2!A1=0;A2;"") renvoie A2 quand Feuil2!A1=""
(ça m'énerve!)
Ai-je loupé un épisode?
Merci