NB.SI si cellule > 255 caractères !

JLE

XLDnaute Junior
Bonjour,

Tout d'abord je tiens à vous remercier, tous très chaleureusement.

En effet, cela fait bientôt près de 5 ans que grâce à vous et le forum entre autre, je suis arrivé à faire un petit programme sans bug pour réaliser mes devis.

Mais je me heurte à un problème ces derniers jours....

Je m'explique : je cherche à vérifier s'il existe un terme dans une cellule. S'il existe j'indique cela par un VRAI dans la cellule qui possède la formule qui vérifie. Sauf que dès que la cellule à vérifier dépasse 255 caractères, il m'indique FAUX !

Comment peut on faire contourner cette limitation de NB.SI ?
 

Pièces jointes

  • essai 255 - faux.xls
    13.5 KB · Affichages: 53

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : NB.SI si cellule > 255 caractères !

Bonjour,

Voir PJ

Code:
Function Contient(cel As Range, chaine)
 Application.Volatile
 Contient = (InStr(cel.Value, chaine) > 0)
End Function

=contient(A3;"engin de manutention")

JB
 

Pièces jointes

  • Copie de essai 255 - faux.xls
    22.5 KB · Affichages: 49
  • Copie de essai 255 - faux.xls
    22.5 KB · Affichages: 53
  • Copie de essai 255 - faux.xls
    22.5 KB · Affichages: 49

Hulk

XLDnaute Barbatruc
Re : NB.SI si cellule > 255 caractères !

Hello,

C'est vrai qu'en ouvrant le classeur, B3 renvoyait FAUX, mais j'ai double-cliqué dans B3 puis taper sur la touche Enter du clavier et c'est bon il renvoie VRAI !?

EDIT : Slt JC, Boisgontier :)
 

JLE

XLDnaute Junior
Re : NB.SI si cellule > 255 caractères !

WAOUHHHHHHHHH,
Je suis sur le *** ! lol.
Vous arriverez toujours à m'épater, alors un grand merci à tous, je n'ai pas essayé toutes les solutions, mais celle de tdenfert me va très bien. Elle fonctionne au poil.

Sauf que : si j'ai plusieurs critère et que je mets tous cela dans une mise en forme conditionnelle, est ce que ça fonctionne toujours ?

Dans tous les cas chapeau bas.....
 

JLE

XLDnaute Junior
Re : NB.SI si cellule > 255 caractères !

Eh bien,
justement avant de renvoyer une réponse tout à l’heure j'ai testé avec la fonction Ou() mais sans succès.
Peux t on me donner l'explication :

=ESTNUM(TROUVE(OU("engin de manutention";"galva";"pose");A3;1))

Je dois avoir loupé un truc je pense.....

EDIT : l'explication ou la réponse directe je suis preneur !!
 

tototiti2008

XLDnaute Barbatruc
Re : NB.SI si cellule > 255 caractères !

Bonjour à tous, :)

Code:
=OU(ESTNUM(TROUVE({"engin de manutention";"galva";"pose"};A3)))

à valider par Ctrl+Maj+Entrée

ou bien

Code:
=OU(ESTNUM(TROUVE("engin de manutention";A3));ESTNUM(TROUVE("galva";A3));ESTNUM(TROUVE("pose";A3)))

à valider normalement

Edit : Explication : les fonctions ET, OU servent sur plusieurs valeurs logiques (VRAI ou FAUX), tu ne peux pas les utiliser sur des textes
 

JLE

XLDnaute Junior
Re : NB.SI si cellule > 255 caractères !

Alors c'est excellent (sans jeu de mots !)
Les deux formules fonctionnent et j'ai même compris, c'est vrai : ça semble pourtant évident.

Sauf que la formule matricielle ne fonctionne pas dans les MFC, juste pour info.
Mais ce n'est pas grave puisque la deuxième me convient tout à fait.

Merci encore pour tout et bonne continuation dans le forum.

Je ne sais pas comment faire pour mettre RESOLU dans le TITRE alors si c'est vraiment nécessaire, merci de m'indiquer la démarche.
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : NB.SI si cellule > 255 caractères !

MFC

=SOMMEPROD(--ESTNUM(TROUVE(mots;A2;1)))

ou

=OU(ESTNUM(TROUVE(mots;A2;1)))

JB
 

Pièces jointes

  • Copie de essai 255 - faux.xls
    23 KB · Affichages: 52
  • Copie de essai 255 - faux.xls
    23 KB · Affichages: 48
  • Copie de essai 255 - faux.xls
    23 KB · Affichages: 51

JLE

XLDnaute Junior
Re : NB.SI si cellule > 255 caractères !

Bonjour

J'ai fais la mise à jour dans mon petit programme, mais je me rend compte que j'ai un soucis la méthode de tdenfer,
je m'explique, si je cherche le mot "GALVA", ce n'est pas la même chose que "galva" ou "Galva" d'après la fonction TROUVE()...

En fait NB.SI() ne fait pas la distinction entre les majuscules et les minuscules alors que TROUVE() fait une différence.
Y a t il un moyen de contourner cela en utilisant la même fonction ?

Merci pour votre aide, et bon week end !
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal