Recherche valeur avec deux critères dans une colonne
ccvr -
Bonjour à tous,
J'ai réalisé un code vba permettant de relever les cellules contenant les valeurs de deux cellules précises.
Ainsi, je relève les cellules qui contiennent les valeurs de la cellule (i,2) et de la cellule (i,3)
val_rech = Cells(i, 2).Value + Cells(i, 3).Value
Cependant, les cellules relevées par mon code sont celles qui contiennent EXACTEMENT ces valeurs et si d'autres informations (avant, après ou même entre les valeurs des 2 cellules )figurent les cellules ne sont pas relevées.
J'aimerai que mon code relève les cellules qui contiennent AU MOINS Cells(i, 2).Value + Cells(i, 3).Value mais pas forcément que ces 2 valeurs.
Admettons :
cells(i,2).Value = petit
cells(i,3).value = bateau
les cellules contenant "petit bateau" sont relevées mais je souhaite avoir aussi les cellules "petit bateau sur l'eau" ou "le beau petit bateau", par exemple.
je pense que la ligne a modifié est la ligne affectant à val_recherchée la valeur.
Avez vous une idée qui répondrait à ma demande svp ?
Merci ;)
4 réponses
-
Bonjour,
Pouvez montrer le code complet, car val_rech est fonction d'une boucle a priori, mais pas sur
-
enfaite , le code pour retrouver ou pas la valeur recherchée dans la colonne est réussi et fonctionne.
Cependant, les valeurs dans la colonne n'ont pas exactement la même mise en forme ( peuvent avoir des données en plus dans la cellule ou alors des espaces en plus/moins).
Lorsque je mets : val_rech = Cells(i, 2).Value + Cells(i, 3).Value
je n'ai que qques valeurs qui sont trouvées mais pas toutes
et quand je mets : val_rech = Cells(i, 2).Value & " " & Cells(i, 3).Value
c'est pareil
je souhaiterai trouver la bonne formule pour exprimer la valeur recherchée " contenant au moins sans compter la mise en forme Cells(i, 2).Value et Cells(i, 3).Value "
peut être avec le comparateur Like ? je ne sais pas
mon problème est juste la déclarations et l'affectation de valeur recherchée
merci :)
-
-
Supposons que le texte recherché se trouve dans la cellule A1 alors :
val_rech = Cells(i, 2).Value + Cells(i, 3).Value If InStr(1, Range("A1"), val_rech) > 0 Then Debug.Print "Trouvé !" Else Debug.Print "Pas trouvé ..." End IfAprès effectivement comme le dit f894009, il serait bien de voir le code en complet pour donner une réponse mieux adaptée.
-
Bonjour a vous deux,
val_rech pas possible avec deux criteres flottants
Sub test() If Cells(x, y) Like "*" & Cells(i, 2).Value & "*" And Cells(x, y) Like "*" & Cells(i, 3).Value & "*" Then 'code End If End Sub
-
Re,
Si val_rech n'as pas d'autre affectation, oui