Recherche d une chaine de caractere qui se termine toujours pareil

lloull

XLDnaute Nouveau
Bonjour,

je vous met un bout de mon code pour vous aider a comprendre

Text = "** 2 Engineering & Design"
Set celluletrouvee = Workbooks(MyPath).Worksheets("001").Range("B:B").Find(Text, lookat:=xlWhole)

If celluletrouvee Is Nothing Then
'MsgBox ("No line of Engineering & Design")
Else
ligne = celluletrouvee.Row
col = celluletrouvee.Column
End If

En fait je voudrai que dans Text ne mettre que "2 Engineering & Design" et qu il me renvoi quand meme la ligne et la colonne. Dans la colonne ou j'effectue ma recherche la chaine de caractere se trouve sous deux formes differentes (peut etre plus mais ac toujours la meme fin ce sont le nombre d'* ou d'espace qui varient au debut) les deux formes sont comme ci apres:

"** 2 Engineering & Design" ou
"* 2 Engineering & Design"

Merci bcp

Loic
 

Staple1600

XLDnaute Barbatruc
Re : Recherche d une chaine de caractere qui se termine toujours pareil

Bonjour


A tester (pour un début de piste)

Code:
Sub test()
Text = Chr(42) & "2 Engineering & Design"
Set celluletrouvee = Range("B:B").Find(Text, lookat:=xlWhole)
If celluletrouvee Is Nothing Then
'MsgBox ("No line of Engineering & Design")
Else
ligne = celluletrouvee.Row
col = celluletrouvee.Column
End If
MsgBox "Ligne:" & ligne & Chr(13) _
& "Colonne: " & col
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Recherche d une chaine de caractere qui se termine toujours pareil

Re

EDITION: en reprenant ta méthode avec Find
Code:
Sub test_find()
Dim SText As String
Dim Cel As Range
SText = Chr(42) & "2 Engineering & Design"
Set plg = Range("B1:B" & [B65536].End(xlUp).Row)
Set Cel = plg.Find(SText, LookIn:=xlValues)
If Not Cel Is Nothing Then
FF = Cel.Address
Do
Message = _
Message _
& "Valeur trouvée en cellule : " _
& Cel.Address(0, 0) & Chr(13)
Set Cel = plg.FindNext(Cel)
Loop While Not Cel Is Nothing And Cel.Address <> FF
End If
MsgBox Message, vbInformation, "RESULTATS pour : " & SText
End Sub


Une autre approche
(qui prend en compte plusieurs occurrences de la chaine recherchée)

Code:
Sub test_II()
Dim SText As String
Dim Cel As Range
SText = Chr(42) & "2 Engineering & Design"
For Each Cel In Range("B1:B" & [B65536].End(xlUp).Row)
If Not IsEmpty(Cel) Then
If Cel.Text Like SText Then
Message = _
Message _
& "Valeur trouvée en cellule : " _
& Cel.Address(0, 0) & Chr(13)
End If
End If
Next
MsgBox Message, vbInformation, "RESULTATS pour : " & SText
End Sub
 
Dernière édition:

lloull

XLDnaute Nouveau
Re : Recherche d une chaine de caractere qui se termine toujours pareil

Merci bcp Staple1600 toute tes solutions marchent a merveille donc pour le moment je suis reste sur la premiere que je comprend le mieux. Si tu a le tps peut tu m expliquer la difference entre tes solutions et a quoi sert "Chr(42) & "? et donc quelle est la meilleure. Pour mon programme pour ce qui est de la ligne et de la colonne je n'ai pas besoin de l afficher je m en sert par la suite pour aller chercher la bonne info aur la meme ligne que le texte trouver mais a une co,onne differente.

Encore merci Bcp
 

Statistiques des forums

Discussions
312 497
Messages
2 088 992
Membres
104 000
dernier inscrit
dinelcia