Vérifer si nombre dans cellule

Bonsoir,

Je me suis fait une formule pour renvoyer un X lorsque une cellule est vide, et que celui-ci disparaisse lorsqu'un nombre est renseigné dans la cellule :

15exemple.xlsx (9.47 Ko)
=SI(NON(ESTNUM(C1));"X";"")

Sur une cellule, ça fonctionne. J'essaie de faire vérifier à la formule sur 2 celllules, et c'est là que ça ne fonctionne pas. Je ne comprends pas ce que j'ai oublié pour que la formule fonctionne ; le but étant qu'elle fasse disparaitre le X si un nombre est renseigné dans l'une des 2 cellules, où les 2 :

=SI(NON(ESTNUM(SOMME(C3:C4)));"X";"")

Je suppose que c'est la somme qui pose problème, mais pourquoi ? Il faut impérativement passer par des ET et OU ?

Merci !

Bonjour

Si tu mets en D1: =SI(NON(ESTNUM(C1));"X";"")

il suffit ensuite de glisser la celulle jusqu'en bas...

9exemple.xlsx (9.46 Ko)

A+ François

bonsoir

???? à tester

=SI(ESTERREUR(SOMME(C3:C4*1));"X";"")

Bonjour à tous,

En B3 (pour ne tester que les nombres mais pas les textes) :

=SI(NB(C3:C4)>0;"";"X")

Bonsoir,

et dans le cas d'un chiffre et d'une lettre ? Le X doit apparaitre ?

@ bientôt

LouReeD

Si tu mets en D1: =SI(NON(ESTNUM(C1));"X";"")

il suffit ensuite de glisser la celulle jusqu'en bas...

Bonjour,

Cette formule fonctionne pour UNE cellule, mais si on veut vérifier si un nombre est présent en C3 et/ou C4 (ou une plage plus importante), ça ne fonctionne pas (ou alors j'ai pas compris comment faire ). Je voudrais que la formule vérifie sur une plage et non une seule cellule.

???? à tester

=SI(ESTERREUR(SOMME(C3:C4*1));"X";"")

Bonjour,

Chez moi, ça ne renvoie ... rien ! ; avec ou sans chiffre...

En B3 (pour ne tester que les nombres mais pas les textes) :

=SI(NB(C3:C4)>0;"";"X")

Bonjour,

Impec, ça fonctionne ! Merci !

Je connaissais pas NB ; et est-ce qu'il existe une variante qui vérifie les nombres et/ou les textes ?

et dans le cas d'un chiffre et d'une lettre ? Le X doit apparaitre ?

Bonjour,

Si c'est possible de gérer les 2 en même temps, ce serait pas plus mal.

Bonjour à tous,

Je connaissais pas NB ; et est-ce qu'il existe une variante qui vérifie les nombres et/ou les textes ?

Pour prendre en compte les nombres et les textes on peut utiliser NBVAL :

=SI(NBVAL(C3:C4)>0;"";"X")

Pour prendre en compte uniquement les textes, on peut utiliser ceci :

=SI(SOMMEPROD(N(ESTTEXTE(C3:C4)))>0;"";"X")

Pour prendre en compte les nombres et les textes on peut utiliser NBVAL :

=SI(NBVAL(C3:C4)>0;"";"X")

Là c'est top ! Je ne connaissais pas non plus NBVAL... Je vais aller voir les autres variantes de cette formule.

Pour prendre en compte uniquement les textes, on peut utiliser ceci :

=SI(SOMMEPROD(N(ESTTEXTE(C3:C4)))>0;"";"X")

Je garde ça dans un coin, mais NBVAL me va très bien !

Encore merci !

Bonsoir,

Encore un cas particulier... La formule ci-dessous fonctionne très bien tant que la plage (B1:B7) ne comporte que des chiffres ou du texte

=SI(NBVAL(B1:B7)>0;"";"X")

Par contre, si une formule est présente dans la plage (B1:B7) (juste une addition de 2 cellules), même si le résultat de l'addition est nul car aucun chiffre n'est renseigné ; la formule =SI(NBVAL(B1:B7)>0;"";"X") considère qu'il y a un zéro et elle ne me renvoie plus le X.

Est-ce qu'il y aurait une méthode pour qu'elle ne tienne pas compte du résultat de la formule lorsque celui-ci est zéro ?

Merci !

Le ficher pour que ce soit plus clair :

13exemple-2.xlsx (9.55 Ko)

Bonjour,

Essayez :

=SI((NB.VIDE(B1:B7)+NB.SI(B1:B7;0))=LIGNES(B1:B7);"X";"")

(mais ça interdit le 0 en tant que nombre saisi)

=SI((NB.VIDE(B1:B7)+NB.SI(B1:B7;0))=LIGNES(B1:B7);"X";"")

(mais ça interdit le 0 en tant que nombre saisi)

Alors pour le coup, ça ne m'arrange pas qu'on ne puisse pas renseigner le zéro.

Est-ce qu'il ne serait pas possible à partir de la formule
=SI(NBVAL(B1:B7)>0;"";"X")

de lui indiquer que dans la plage (B1:B7), on souhaite exclure certaines cellules (toutes celles qui possèdent des formules ; ou peut-être plus simplement de directement indiquer les cellules concernées ? : B7) ?

Ça risque de devenir une usine à gaz le truc...

Merci !

Bonjour,

Une autre approche à tester, en omettant les cellules contenant une formule :

=LET(t;FILTRE(N(B1:B7="");NON(ESTFORMULE(B1:B7)));SI(SOMME(t)=NBVAL(t);"X";""))
ou aussi
=SI(SOMME(N(B1:B7=""))=SOMME(N(NON(ESTFORMULE(B1:B7))));"X";"")

Bonjour,

=SI(SOMME(N(B1:B7=""))=SOMME(N(NON(ESTFORMULE(B1:B7))));"X";"")

Cette formule fonctionne parfaitement. Chapeau !

J'avais essayé de chercher avec ESTFORMULE, mais je serai pas arrivé à trouver quand même

Petite question : à quoi sert le N entre SOMME et NON ?

Et la première formule fonctionne aussi, mais elle est encore plus compliquée à comprendre

=LET(t;FILTRE(N(B1:B7="");NON(ESTFORMULE(B1:B7)));SI(SOMME(t)=NBVAL(t);"X";""))

En tout cas, encore merci !

Bonjour,

La fonction N a pour but de transformer en 1 ou 0 les valeurs logiques VRAI/FAUX renvoyées par les formules, afin d'en faire la somme. Cette conversion se fait de manière implicite dans les calculs. On trouve souvent d'autres méthodes, *1 ou - - (deux multiplications par -1).

On peut donc utiliser au choix :

=SOMME(N(NON(ESTFORMULE(B1:B7))))
ou
=SOMME(NON(ESTFORMULE(B1:B7))*1)
ou
=SOMME(--NON(ESTFORMULE(B1:B7)))

Par ailleurs, la formule peut légèrement se simplifier en :

=SI(NB.VIDE(B1:B7)=SOMME(N(NON(ESTFORMULE(B1:B7))));"X";"")

Si la plage est limitée et les formules se trouvant à des emplacements fixes (B3 et B7 par exemple) on pourrait aussi faire :

=SI((NBVAL(B1:B2)+NBVAL(B4:B6))>0;"";"X")
voire 
=SI(ET(B1="";B2="";B4="";B5="";B6="");"X";"")

À vous de voir selon votre contexte.

La fonction N a pour but de transformer en 1 ou 0 les valeurs logiques VRAI/FAUX renvoyées par les formules, afin d'en faire la somme. Cette conversion se fait de manière implicite dans les calculs. On trouve souvent d'autres méthodes, *1 ou - - (deux multiplications par -1).

Merci pour toutes ces explications !

Rechercher des sujets similaires à "verifer nombre"