Rechercher un bout de phrase dans une cellule

bonjour le forum,

J'ai exposé mon problème dans le fichier suivant :

https://www.excel-pratique.com/~files/doc/lpJBHTableau.rar

j'ai déja fait une macro pour faire une rechercher suivant le numéro du flux et l'identifaint du flux.. mais pour la colonne Etat j'aimerais faire une recherche sur des bouts de phrases..je ne sais pas si cela est possible??

Quelqu'un peut m'aider?? J'espere que je ne suis pas flou dans mes indications

Cdt

jj

Bonjour,

En VBA, je ne sais pas faire.

Par formule, ça pourrait donner ceci :

Dans la mesure où le bout de phrase fait 2 mots :

=ET(ESTNUM(CHERCHE(GAUCHE(bout_de_phrase;TROUVE(" ";bout_de_phrase)-1);F2));ESTNUM(CHERCHE(DROITE(bout_de_phrase;NBCAR(bout_de_phrase)-TROUVE(" ";bout_de_phrase));F2)))

On peut améliorer en testant s'il y a un seul mot (donc sans espace) dans le bout de phrase.

Je te laisse essayer

Reviens avec plus de précisions si je me suis égaré.

@+

Merci d'avoir répondu.

J'ai essayer de tester ton bout de code sans résultat. Si j'ai bien compris cela indique 'vrai' si un mot d'une phrase se trouve dans F2 et faux si ce mot n'est pas présent. J'ai fait un test mais la cellule m'indique toujours faux.

Mais il me faut plutot un code en VBA car je ne peux pas faire ca pour chaque cellule. Il faut que je puisse taper un mot et qu'il cherche dans tous les onglets pour trouver la ligne ou est présent ce mot. Je ne sais pas si c'est possible...

Cdt

jj

Merci encore thibo d'avoir repondu mais je crois que le plus simple quand on ne trouve pas quelque chose, C'est D ALLER VOIR SUR LES AUTRES FORUM !!!!!!!

Salut le forum

Les mots doivent être séparés par un espace. (A tester)

Sub Recherche_Mots() 
  Dim PremCell As String 
  Dim Cell As Range 
  Dim Cherche As String 
  Dim Texte As String 
  Dim x As Variant 
  Dim i As Byte 

  Texte = "Saisissez le texte à rechercher : " & Chr(13) 
  Texte = Texte & "(séparer les mots par une espace)" 

  Cherche = InputBox(Texte, "Recherche mot(s) dans une plage de cellule") 

    If Cherche = "" Then Exit Sub 
    Texte = Cherche 
    x = Split(Texte, " ") 

    For i = 0 To UBound(x) 

  Set Cell = Cells.Find(x(i), LookIn:=xlValues, Lookat:=xlPart)  'xlpart xlwhole 

  If Not Cell Is Nothing Then 
    PremCell = Cell.Address 
    Do 
      MsgBox x(i) & Chr(13) & Cell.Address 
      Cell.Offset(0, -1) = "X" 
      Set Cell = Cells.FindNext(Cell) 
    Loop Until Cell.Address = PremCell 
  Else 
  MsgBox ("Rien") 
  End If 

    Next i 
End Sub 

Mytå

Merci pour la réponse mais j'ai fait ce code qui marche très bien. Cela donne l'équivalent d'une recherche avec ctr+f. A conseiller à tout le monde qui souhaite faire cela!!

Je te le joins si ca peut en aider d'autres

Private Sub CommandButton3_Click()

Dim Mot As String, Trouvé1 As Range, Trouvé2 As Range, Reponse As String

Dim i As Byte

Mot = InputBox("Mot à rechercher ?")

For i = 1 To Sheets.Count

Sheets(i).Select: Set Trouvé1 = Cells.Find(What:=Mot)

If Not Trouvé1 Is Nothing Then

Trouvé1.Activate

With ActiveCell.Characters(Start:=InStr(1, Selection, Left(Mot, 1), 1), Length:=Len(Mot))

Selection.Interior.ColorIndex = 4

Selection.Font.Bold = True

End With

étiq:

Reponse = MsgBox("Poursuivre la recherche ?", vbYesNo)

If Reponse = 6 Then

Selection.Interior.ColorIndex = xlNone

Selection.Font.Bold = False

Else

Selection.Interior.ColorIndex = xlNone

Selection.Font.Bold = False

Exit Sub

End If

Set Trouvé2 = ActiveSheet.UsedRange.FindNext(After:=ActiveCell)

If Trouvé2.Address <> Trouvé1.Address Then

Trouvé2.Activate

With ActiveCell.Characters(Start:=InStr(1, Selection, Left(Mot, 1), 1), Length:=Len(Mot))

Selection.Interior.ColorIndex = 4

Selection.Font.Bold = True

End With

GoTo étiq

End If

End If

Next i

Sheets(1).Activate

Range("A1").Select

End Sub

Amicalement

jj

Rechercher des sujets similaires à "rechercher bout phrase"