Réaliser une recherche inversée

Fermé
Djiel - 16 janv. 2018 à 17:33
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 - 20 janv. 2018 à 10:41
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

3 réponses

yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
16 janv. 2018 à 19:23
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
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 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471 > Djiel
17 janv. 2018 à 19:47
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
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 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471 > Djiel
18 janv. 2018 à 09:06
comment peut-on déterminer en général quel est le mot à extraire?
0
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
17 janv. 2018 à 10:57
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
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