Macro Rechercher un Mot
Résolu
abdo_alg
Messages postés
9
Statut
Membre
-
abdo_alg Messages postés 9 Statut Membre -
abdo_alg Messages postés 9 Statut Membre -
Bonjour,
Je suis un débutant dans la programmation VBA, je veux créer une macro qui me permet de faire une recherche par mot.
j'ai inseré une CommandButton (Chermot) et une TextBox (textFind) dans la feuil2
j'ai ecris le programme suivant:
Sub Chermot_Click()
Dim Mot As String
Mot = textFind.Text
With Sheets("Feuil2").Range("B6:E500")
Set c = .find(Mot, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub
Mais le problème, c'est que ma macro ne marche pas!!!!! :(
pouvez vous m'aider SVP
Merci à l'avance
Je suis un débutant dans la programmation VBA, je veux créer une macro qui me permet de faire une recherche par mot.
j'ai inseré une CommandButton (Chermot) et une TextBox (textFind) dans la feuil2
j'ai ecris le programme suivant:
Sub Chermot_Click()
Dim Mot As String
Mot = textFind.Text
With Sheets("Feuil2").Range("B6:E500")
Set c = .find(Mot, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub
Mais le problème, c'est que ma macro ne marche pas!!!!! :(
pouvez vous m'aider SVP
Merci à l'avance
A voir également:
- Vba recherche cellule contenant mot
- Trousseau mot de passe iphone - Guide
- Excel compter cellule couleur sans vba - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
5 réponses
Bonjour,
Je te propose alors de modifier légérement la macro pour qu'elle selectionne la ou les cellules contenant le mot et qu'elle affiche un message si le mot n'est pas trouvé :
Dis moi si cela convient.
A+
Je te propose alors de modifier légérement la macro pour qu'elle selectionne la ou les cellules contenant le mot et qu'elle affiche un message si le mot n'est pas trouvé :
Private Sub Chermot_Click()
Dim Mot As String
Dim c As Range
Mot = textFind.Text
With Sheets("Feuil2").Range("B6:E500")
Set c = .Find(Mot, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
c.Select
Do
Union(Selection, c).Select
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
If c Is Nothing Then
MsgBox "le texte '" & Mot & "' n'a pas été trouvé"
End If
End Sub
Dis moi si cela convient.
A+
Bonjour,
Qu'elle est la signification de Mot = textFind.Text ?
car si textFind est le nom d'une cellule nommée alors il faut écrire : Mot = [textFind].Text
A priori le reste de la syntaxe doit -être correcte
A+
Qu'elle est la signification de Mot = textFind.Text ?
car si textFind est le nom d'une cellule nommée alors il faut écrire : Mot = [textFind].Text
A priori le reste de la syntaxe doit -être correcte
A+
euh! pardon j'avais pas bien lu bien sur textFind est une text box au temps pour moi !!!
Je ne vois donc pas d'erreur, quelle est l'erreur et sur quelle ligne ?
car la macro ne donne pas de résultat mais c'est normal mais elle trouve bien l'adresse de la première cellule dans laquelle est le mot recherché !
Je ne vois donc pas d'erreur, quelle est l'erreur et sur quelle ligne ?
car la macro ne donne pas de résultat mais c'est normal mais elle trouve bien l'adresse de la première cellule dans laquelle est le mot recherché !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oui, cela me convient
Merci beaucoups pilas31 :)
puisque je suis maniaque (je le sais et je sais que vous ne le savez pas), j'ai retouché un peu le programme en introduisant un compteur (K), et ça donne:
Private Sub Chermot_Click()
k = 0
Dim Mot As String
Dim c As Range
Mot = textFind.Text
With Sheets("Feuil2").Range("A6:K500")
Set c = .find(Mot, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
c.Select
Do
Union(Selection, c).Select
Set c = .FindNext(c)
k = k + 1
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
If k = 0 Then
MsgBox "Pas de résultat "
Else:
MsgBox k & " résultat(s) retrouvé(s)"
End If
End Sub
encors une autre fois, un grand merci pour toi Pilas 31
cordialement
Merci beaucoups pilas31 :)
puisque je suis maniaque (je le sais et je sais que vous ne le savez pas), j'ai retouché un peu le programme en introduisant un compteur (K), et ça donne:
Private Sub Chermot_Click()
k = 0
Dim Mot As String
Dim c As Range
Mot = textFind.Text
With Sheets("Feuil2").Range("A6:K500")
Set c = .find(Mot, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
c.Select
Do
Union(Selection, c).Select
Set c = .FindNext(c)
k = k + 1
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
If k = 0 Then
MsgBox "Pas de résultat "
Else:
MsgBox k & " résultat(s) retrouvé(s)"
End If
End Sub
encors une autre fois, un grand merci pour toi Pilas 31
cordialement