Recherchev avec quelques fois des cellules fusonnées

vserrano

XLDnaute Junior
Bonjour à tous,

Je souhaiterai faire une recherchev sur le nom du salarié et qu'il me donne son numéro de commande.Hors quelques fois pour 2 ou 3 ou 4 voir plus il se peut que le numéro de commande corresponde à plusieurs salarié.

Et du coup la cellule numéro de commande est fusionné,de ce fait la formule ne fonctionne pas, j'ai essayé avec equiv, mais çà ne marche pas non plus!!! Comment faire ?

Merci à vous tous!!!
 

Pièces jointes

  • Recherche v avec cellule fusionnée.xlsx
    9.9 KB · Affichages: 34

djidji59430

XLDnaute Barbatruc
Bonjour,
Bonjour à tous,
Et du coup ....
Merci à vous tous!!!

Et pourquoi ? Quel intérêt ?

Si tu fais une recherche, c'est que tu consideres ta feuille comme une base de donnée.
Or une base de donnée ne doit pas (entre autre) comporter de cellule fusionnée, de ligne vide, ...
Donc tu annules ta fusion et tu écris 3 fois 200. Et plus de probléme (surtout pour tes futures recherches)

Cdlmnt
 

vserrano

XLDnaute Junior
Bonjour,


Et pourquoi ? Quel intérêt ?

Si tu fais une recherche, c'est que tu consideres ta feuille comme une base de donnée.
Or une base de donnée ne doit pas (entre autre) comporter de cellule fusionnée, de ligne vide, ...
Donc tu annules ta fusion et tu écris 3 fois 200. Et plus de probléme (surtout pour tes futures recherches)

Cdlmnt
Bonjour,

Moi aussi ca m'arrangerai!!! mais pas les personnes qui vont utilisé ce fichier :-(

il y a vraiment aucun solution ?
 

job75

XLDnaute Barbatruc
Bonjour vserrano, djidji59430,

Vous en faites pas vserrano, djidji fait partie des ayatollahs qui interdisent les cellules fusionnées...

Formule en B21 :
Code:
=RECHERCHE(9^99;H$2:INDEX(H$2:H$16;EQUIV(A21;A$2:A$16;0)))
Cette formule est valable si l'on veut rechercher un nombre.

Si l'on veut rechercher un texte on utilisera :
Code:
=RECHERCHE("zzz";H$2:INDEX(H$2:H$16;EQUIV(A21;A$2:A$16;0)))
A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re,

Maintenant ceux qui ne jurent que par VBA utiliseront cette fonction macro :
Code:
Function RechercheF(v, plage1 As Range, plage2 As Range)
Dim i
i = Application.Match(v, plage1, 0)
If IsError(i) Then RechercheF = [#N/A] Else RechercheF = plage2(i).MergeArea(1)
End Function
Fichier joint.

A+
 

Pièces jointes

  • Recherche v avec cellule fusionnée(1).xlsm
    21.1 KB · Affichages: 33

djidji59430

XLDnaute Barbatruc
Re
Non, pas ayatollah, je n'ai pas lancé de fatwha contre les cellules fusionées, mais c'est vrai que je les déconseille fortement.
Mais au vu de ta formule, je vais revenir sur mon jugement, surtout si tu nous expliques ce tour de passe-passe qui transforme le

H$2:INDEX(H$2:H$16;EQUIV(A21;A$2:A$16;0))
en
H$2:H$3

merci d'eclairer ma lanterne
 

job75

XLDnaute Barbatruc
Re djidji,

Mieux vaut utiliser A22 pour comprendre.

Pas trop difficile de comprendre que INDEX(H$2:H$16;EQUIV(A22;A$2:A$16;0) c'est H3...

...puisque c'est la cellule que l'on cherche, et elle est vide.

Ensuite la fonction RECHERCHE remonte jusqu'à la 1ère cellule numérique trouvée => H2.

A+
 

vserrano

XLDnaute Junior
Bonjour à tous et un grand merci grace à vous j'apprends enormement !!!

Petite question est il possible de rajouter si vide mettre "" au lieu de n/a ?

A votre avis quel est le plus sur mettre une formule ou un vba ?car quand j'aurai fini ma mission, si quelqu'un se trompe dans la formule je ne serai pas la pour le corriger ???

Merci encore a vous!!!
 

job75

XLDnaute Barbatruc
Bonjour vserrano, le forum,

Qu'est-ce que vous apprenez donc ?

Car la formule du post #4 va très bien, voyez le fichier joint.

Et si vous voulez du VBA il y a le post #5 !!!

Edit : bon OK, vous avez ajouté le post #9.

Pour éviter le #N/A c'est très classique =SIERREUR(la formule;"")


Bonne journée.
 

Pièces jointes

  • Recherche v avec cellule fusionnée(1).xlsx
    15.2 KB · Affichages: 32

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch