Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Methode find qui bloque

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

paskikic

XLDnaute Occasionnel
BONJOUR A TS,


je cherche a me sortir d un mauvais pas , j explique je veux faire une recherche de nom et recuperer des valeurs avec FIND mais ca ne me donne pas de reponse car mes donnes a recherchee ne corresponde pas exactement a ma liste. comment puis je m y prendre ( la pour le moment c est comme un manche vu que je suis nul )


merci a vous tous
 

Pièces jointes

Re : Methode find qui bloque

slt les xlnautes

en faite j ai trouver une soluce en effacant les espaces , points et autres ponctuations et ca semble fonctionner merci a vs tous qd mm

chalet53 ta methode est pas mal mais comme la recherche se fait pour 24 pers il me faut un code automatique
mais merci de ton aide qd mm

a bientot pour de nouvelles discussion.
 
Re : Methode find qui bloque

Bonsoir paskikic, CHALET53
Bonsoir le forum,

Tu dis :
mes donnes a recherchee ne corresponde pas exactement a ma liste
En présentant les choses comme cela, c'est certain que la méthode find ne va pas les trouver.
Effectivement, il faudrait initialement épurer tes données.
Sinon, tu crées un formulaire, tu y insères un TextBox et un CommandButton en y associant ce code.
Tu saisies la donnée à chercher dans le TextBox et tu clic 🙄
VB:
Private Sub CommandButton1_Click()
Dim MotCherché As String, DerLig As Long, trouve As Boolean
Dim plage As Range, cel As Range, Adrdeb As String
Application.EnableEvents = False
Application.ScreenUpdating = False
If TextBox1.Value = "" Then Exit Sub
MotCherché = Me.TextBox1.Value
With Feuil1
  DerLig = .Range("A" & .Rows.Count).End(xlUp).Row
  Set plage = .Range("A5:A" & DerLig)
  With plage
    Set cel = .Find(MotCherché, after:=Feuil1.Range("A" & DerLig), LookAt:=xlPart)
    If Not cel Is Nothing Then
      trouve = True
      Adrdeb = cel.Address
      Do
        Feuil1.Range(Feuil1.Cells(cel.Row, 1), Feuil1.Cells(cel.Row, 3)).Select
        'pour visualiser la recherche
        Feuil1.Range(Feuil1.Cells(cel.Row, 1), Feuil1.Cells(cel.Row, 3)).Interior.ColorIndex = 42
        Set cel = .FindNext(cel)
      Loop While Not cel Is Nothing And Adrdeb <> cel.Address
      End If
  End With
End With
If trouve = False Then MsgBox "Pas de trace du mot cherché !"
Unload Me
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
N'oublies pas de bien paramétrer les arguments de la méthode Find.


Klin89
 
Dernière édition:
Re : Methode find qui bloque

Bonsoir à tous,

Vois ceci :
VB:
Sub recherche()
Dim i As Byte, j As Long, DerLig As Long, trouvé As Boolean, tablo
Application.ScreenUpdating = False
trouvé = False
DerLig = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
j = 5
'exemple d'occurences à rechercher placées dans un array
tablo = Array("C.SOUMIE", "S.LEGRAN", "B.VIDAL", "A.CUIV", "S.DETREIF")
For i = 0 To UBound(tablo)
  Do
    If Cells(j, 1) = tablo(i) Then trouvé = True Else j = j + 1
  Loop Until trouvé = True Or j = DerLig
  If trouvé Then
    MsgBox tablo(i) & " trouvé en " & Cells(j, 1).Address
  Else
    MsgBox tablo(i) & " non trouvé"
  End If
  j = 5: trouvé = False
Next
Application.ScreenUpdating = True
End Sub
Klin89
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

K
  • Résolu(e)
Réponses
6
Affichages
1 K
kondabalo
K
S
Réponses
9
Affichages
4 K
stef2107
S
D
Réponses
3
Affichages
1 K
G
Réponses
18
Affichages
3 K
G
M
Réponses
11
Affichages
2 K
magnusyou
M
E
Réponses
2
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…