Réaliser une recherche inversée

Djiel -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

J'ai regardé partout sur le net mais je ne trouve pas de solution à mon problème.
Alors voici mon problème, j'ai un tableau excel avec 3 colonnes.

Dans ma colonne A j'ai dans chaque cellule des commentaires "Présence de défaut1 et défaut22"
Dans ma colonne B j'ai dans chaque cellule un type de défaut, allant de "défaut1" à "défaut10"
Et dans ma colonne C j'ai dans chaque cellule un type de défaut, allant de "défaut11" à "défaut25"


J'ai trouvé comment cherche dans la colonne A si le "défaut1" apparaît, puis le "défaut2" etc jusqu'à 25
Or je voudrais faire l'inverse, c'est-à-dire par exemple en A3 j'ai "Présence du défaut14", je veux que ma macro aille chercher dans la colonne B si il trouve la cellule "défaut14" si ce n'est pas le cas il va chercher dans la colonne C


J'ai essayé en faisant appelle au LIKE,ou à FIND, mais à cela ne marche que si je cherche le mot "défautx" dans la colonne A mais pas l'inverse.

Par exemple si je fais :


Set P1 = Range("A" & intligne).Find(Range("B"& x), lookat:=xlWhole

cela marche mais moi je voudrais faire :

Set P1 = (Range("B"& x).Find(Range("A" & intligne), lookat:=xlWhole



J’espère que mes explications sont claires, et j’espère qu'il existe un moyen pour résoudre mon problème.

Merci par avance de vos réponses et bonne soirée à vous
A voir également:

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonsoir,
qu'est ce qui t’empêche, pour chacun des éléments de la colonne B, de vérifier si le texte de la cellule est présent dans A3?
ou bien d'extraire le ou les mots défautX de A3, et faire une recherche dans la colonne B puis C?
0
Djiel
 
Bonjour yg_be,

Rien ne m’empêche pour chacun des éléments de la colonne B, de vérifier si le texte de la cellule est présent dans A3. Mais afin que ma macro tourne plus rapidement je souhaiterai faire l'inverse, c'est a dire pour chaque élément de la colonne A vérifier l'équivalence dans la colonne B puis dans la colonne C.

Par contre l'option d'extraire le mot défautX de A3, m'intéresse. Mais je ne sais pas comment faire.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Djiel
 
voici comment extraire défautX de A3:
Dim complet As String, def As String
complet = Range("A3").Value
def = Right(complet, Len(complet) - InStrRev(complet, " "))
0
Djiel
 
Merci beaucoup de votre réponse, j'ai bien compris à quoi servait chaque ligne mais j'ai un petit problème. C'est dans ma case AX la position du défautX n'est pas toujours au même endroit. Par exemple parfois j'aurais "Aujourd'hui c'est lundi"
et des fois j'aurais "Lundi soir" et le mot a extraire serait "lundi". Or avec cette façon d’extraire ca ne marchera pas à chaque ligne.

Si jamais vous avez une solution, je vous en remercie.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Djiel
 
comment peut-on déterminer en général quel est le mot à extraire?
0
Djiel
 
J'ai une liste dans une autre feuille avec justement les mots à extraire. Par exemple dans la colonne A j'ai mes commentaires de type "Aujourd'hui c'est lundi", "Demain sera mardi"
et dans la colonne B j'ai tout mes jours de la semaine, et ce sont ces mots à extraire.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

le mieux serait de nous montrer le classeur
Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
et faire un clic droit,coller le raccourci dans le message

Dans l’attente

0
Djiel
 
Bonjour, voici mon tableau :
Lien de Téléchargement : https://mon-partage.fr/f/ojq2NiQh/

Alors pour rentrer un peu plus dans les détails, ma feuille excel (qui est un rapport) est divisé en deux parties:
La première partie, qui est le corps du rapport où sont notés les ouvrages (colonne D) et les défauts associés par ouvrage (colonne G)

La seconde partie, c'est la conclusion. Ici on reprend le nom de l'ensemble des ouvrages qui ont des défauts, et on les regroupent par défaut et par ordre de priorité. Exemple dans le tableau en joint plus haut, à coté de la cellule "priorité 2" je devrais avoir la phrase, "Des fissures ont été constatées dans les ouvrage G112, R545, DO13 et EF1"

Je travail sur la macro "conclusion" je suis débutant en VBA donc c'est fort possible que ma programmation ne soit pas facile à lire....

Merci beaucoup de votre aide
0