Recherche dans une matrice et son contenu si les cellules d'une autre sont identiques

Arnaud Esk

XLDnaute Nouveau
Nouvelle problématique 7 réponses ci-dessous :

Recherche dans une Matrice 1, un texte d'une chaine de caractere dans le texte d'une matrice 2.





Bonjour,

Tout d'abord, avant de tenter de vous expliquer ma problématique, je tiens à saluer et remercier administrateurs, modérateurs et tous les membres qui font un travail énorme pour la communauté des utilisateurs d'Excel et m'ont souvent aidé à m'améliorer dans ce domaine.



Comme du concret vaut mieux qu'un long discours, vous trouverez ci-joint mon problème.

Pour moi, l'objectif est de determiner si les produits que j'utilise dans mon entreprise son concerné par la liste REACH

Pour simplifier, je veux pour chaque ligne, si dans ma colonne B, j'ai des produits qui sont dans ma colonne A (et ce, même si la cellule contient ma donnée mais aussi d'autres choses que ce que je recherche)


Si ça peut aider, j'ai laissé différents tests sur la page Essais avec lesquelle j'ai tenté de bidouiller en formule simple ou matricielle.


D'avance, merci pour les remarques, propositions et commentaires qui suivront ma demande.
 

Pièces jointes

  • demande aide v3.xlsx
    14.3 KB · Affichages: 142
  • demande aide v3.xlsx
    14.3 KB · Affichages: 153
  • demande aide v3.xlsx
    14.3 KB · Affichages: 155
Dernière édition:

david84

XLDnaute Barbatruc
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

Bonjour,
ta demande comporte trop d'incertitude en me qui me concerne pour pouvoir t'apporter une réponse.
Le plus simple est de noter manuellement sur ton fichier les résultats attendus en donnant quelques explications.
A+
 

Arnaud Esk

XLDnaute Nouveau
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

Voici ce qui me semble être utile pour éliminer des incertitudes.
Je reste à disposition si besoin.

Merci
 

Pièces jointes

  • demande aide v2.xlsx
    14.9 KB · Affichages: 139

david84

XLDnaute Barbatruc
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

Re
sous réserve que l'exemple fourni soit représentatif de ton fichier original :
Code:
=SI(SOMME(ESTNUM(CHERCHE(B2;A$2:A$4))*1);"Concerné";"Pas concerné")
Formule matricielle à placer en C2, à valider par Ctrl, Maj et entrée et à tirer vers le bas.
A+
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

Bonsoir,

Encore une autre formule matricielle:
Code:
=SI(OU(ESTNUM(CHERCHE(" "&B2&" ";" "&$A$2:$A$10&" ")));"Concerné";"Pas concerné")
Formule matricielle: Elle doit être validée par la combinaison des touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée comme une formule classique.
Si la validation matricielle est correcte, alors Excel entoure la formule d'accolades {=.......}.
Chaque fois que cette formule sera modifiée, la validation devra se faire par Ctrl+Maj+Entrée. Les accolades apparaissent à la validation et ne doivent pas être saisies au clavier.
 

Pièces jointes

  • demande aide v3.xlsx
    17.4 KB · Affichages: 95
  • demande aide v3.xlsx
    17.4 KB · Affichages: 109
  • demande aide v3.xlsx
    17.4 KB · Affichages: 114
Dernière édition:

Arnaud Esk

XLDnaute Nouveau
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

Bonjour,

Je vous remercie tout deux pour l'aide que vous m'avez apporter et l'autre dizaine d'heure que j'aurais surement du faire pour sans doute ne pas trouver.

Les deux formules marchent très bien pour mon besoin, j'ai néanmoins choisis celle de MaPomme car plus rapidement traitée (7 secondes pour des matrices de 400 et 80lignes sur un PC moyennement performant)

On m'avait trouvé une autre solution qui consistait à passer tout le contenu de ma colonne A dans une seule et meme cellule par le biès de
Code:
=CONCATENER(

Puis aller chercher ma dite cellule via
Code:
INDEX(DATA!B:B;NBVAL(DATA!B:B))

Finir par la recherche avec une condition sur les caracteres (que vous n'aviez pas sur mon modèle)
Code:
=SI(OU(A2<>"-";A2<>" ");SI(ESTERREUR(CHERCHE(A2;INDEX(DATA!B:B;NBVAL(DATA!B:B))));"";"trouvé");"")


Donc encore merci de l'aide,

A bientot sur Excel
 

Arnaud Esk

XLDnaute Nouveau
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

bonjour,

Encore une fois je tiens à vous remercier pour m'avoir aider
Je me permets de revenir pour vous expliquer ma nouvelle problématique

Lien supprimé

Pour l'histoire, afin de simplifier la compréhension de l'outil sur lequel je travail, j'avais créé des lignes supplémentaire qui dans l'exemple correspond à la colonne B. Le but étant de faire une recherche de chaine de caractère dans un texte d'une cellule (ce que vous avez fait avec brio)

Aujourd'hui je me retrouve un peu coincé dans le sens où j'ai le cas ci joint.
-> Une recherche de texte d'une cellule dans un texte d'une autre cellule.


Mon besoin est-il possible ?

D'avance, merci pour vos réponses

Cordialement,

Arnaud.
 

david84

XLDnaute Barbatruc
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

Re
une fonction personnalisée à tester :
Code:
Function Esk(Plage As Range, Num As String) As Boolean
Dim s, i As Byte, c As Range
If Num = "" Then Exit Function
s = Split(Num)
    For Each c In Plage
        For i = LBound(s) To UBound(s)
            If c.Value Like "*" & s(i) & "*" Then Esk = True: Exit Function
        Next i
    Next c
End Function
A+
 

Pièces jointes

  • demande aide v3 (3).xls
    54.5 KB · Affichages: 80

david84

XLDnaute Barbatruc
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

Re
voila ce que je te propose : au lieu de confronter les solutions proposées à des cas non envisagés dans ton fichier exemple, tu nous mets un fichier exemple explicite avec les différents cas de figure rencontrés et l'on voit ce que l'on peut faire pour toi.
De plus, il faut environ 15 minutes pour que le calcul de la page se fasse.
Combien de lignes et de colonnes comporte ta plage ?
Y-a-t-il d'autres formules présentes ?
Y-a-t-il des macro déclenchées par des évènements ?
etc.
A+
 

Arnaud Esk

XLDnaute Nouveau
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

Oui c'est également ce que je voulais faire après l'avoir épuré. Plus pratique.

Donc objectif :
En page 1, écrire "concerné" en Gx, si la formule trouve une similitude entre Fx et Colonne C Page2

Attention, les cellules des deux pages peuvent contenir plus qu'une chaine de caractere (ex F8 ou encore 'Liste REACH'!C41, ...)
 

Pièces jointes

  • fusion allégée.xlsx
    252.6 KB · Affichages: 125
  • fusion allégée.xlsx
    252.6 KB · Affichages: 154
  • fusion allégée.xlsx
    252.6 KB · Affichages: 138

Arnaud Esk

XLDnaute Nouveau
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

Et pour répondre à tes questions,

Combien de lignes et de colonnes comporte ta plage ?Page 1, a terme aura 300/400 lignes. Page 2 : aujourd'hui 75, MAJ tous les ans par l'Europe pour a terme arriver vers 2000
Y-a-t-il d'autres formules présentes ? Pas tant que ca
Y-a-t-il des macro déclenchées par des évènements ? pas actuellement
 

david84

XLDnaute Barbatruc
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

Re
Je ne m'y retrouve pas dans ton fichier : trop de données, de couleurs, d'onglets,...
Je t'ai simplement demandé de fournir un fichier avec des exemples explicites et diverses qui reflète la diversité des cas possibles à traiter.
Donc, une vingtaine d'exemples doivent suffire avec dans une colonne la plage des données à traiter, dans une autre la liste des données à confronter et dans une troisième, le résultat attendu notés manuellement.
Ce sera ensuite à toi d'adapter à ton fichier original.
A+
 

Arnaud Esk

XLDnaute Nouveau
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

Hop nouveau document. J'espere qu'il te sera plus utile.
 

Pièces jointes

  • fusion allégée.xlsx
    12.6 KB · Affichages: 56
  • fusion allégée.xlsx
    12.6 KB · Affichages: 72
  • fusion allégée.xlsx
    12.6 KB · Affichages: 79

david84

XLDnaute Barbatruc
Re : Recherche dans une matrice et son contenu si les cellules d'une autre sont ident

Re
avant de se pencher sur le temps de traitement, commençons par régler la fonction par rapport aux cas à traiter :
à tester :
Code:
Function Esk(Plage As Range, Num As String) As Boolean
Dim s, i As Byte, c As Range
If Num = "" Then Exit Function
s = Split(Replace(Num, Chr(10), " "))
    For Each c In Plage
        For i = LBound(s) To UBound(s)
            If c.Value Like "*" & s(i) & "*" Then Esk = True: Exit Function
        Next i
    Next c
End Function
Si la chaîne est trouvée, renvoie VRAI, sinon renvoie FAUX.
Teste la fonction sur un panel de cas explicites et vois ce qu'il en est.
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 979
dernier inscrit
bderradji