Macro rechercher plusieurs résultats

Résolu
volfoss Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -  
volfoss Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Dans ma colonne B j'ai différents nom d'espèces d'oiseaux et certaines espèces sont marquées plusieurs fois. Ces noms d'espèces me renvoi à d'autres informations.
Je désire faire une macro qui recherche le nom de l'espèce indiquée dans la colonne B en ayant la possibillitée de passer au résultat suivant si ce n'est pas le bon.
J'arrive a effectuer la recherche mais celle-ci n'affiche que le premier résultat correspondant et pas la possibillitée de continuer la recherche dans les autres lignes de la colonne B contenant le même nom d'espèce.
J'ai également remarqué qu'en cas de nom d'espèce inexistant dans mon tableau le message de sécurité ne fonctionne pas (il me dis qu'il a trouvé l'espèce et n'affiche pas de résultat).
Merci pour votre aide.

Voici ma macro :

'Définition de la variable à rechercher
Mot = InputBox("Saisir l'espèce à chercher. ", Title:="Recherche Espèce")
'Vérification si existante
If Mot = "" Then Exit Sub
For Each Ws In Worksheets
Nbre = Nbre + Application.CountIf(Ws.UsedRange, "=" & Mot)
Next Ws
'Message en cas de mot inexistant
If Nbre = 0 Then
MyValue = MsgBox(" L'espèce " & Mot & " n'est pas enregistrée ", vbOKOnly, " Recherche Espèce ")
Else
Cycle = 0
'Recherche et arrêt sur les cellules contenant le Mot
For Each Ws In Worksheets
With ActiveSheet
.Activate
Set Trouvé = Ws.Columns(2).Find(Mot, , xlValues, xlWhole)
If Not Trouvé Is Nothing Then
CellAddress = Trouvé.Address
Do
Ws.Activate
Trouvé.Select
MyValue = MsgBox(" L'espèce " & Mot & " a été trouvée ", vbOKOnly, " Recherche Espèce ")
A voir également:

3 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Votre code est incomplet. Soit vous n'avez pas tout mis a dispo, soit impossible que ca "marche".
0
volfoss Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   3
 
Je n'est pas mis tout le code car j'effectue d'autres actions. Voici le code complet :


Sub RechercheParEspècesExotiques()


Dim Mot As String
Dim Ws As Object
Dim Nbre As Long
Dim Cycle As Long
Dim Trouvé As Range
Dim CellAddress As Variant
Dim MyValue As String

'remets colonnes A-Q en blanc
Columns("A:Q").Select
With Selection.EntireRow.Columns("A:Q").Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
'remet colonnes A-Q ligne titre en gris
Range("A4:Q6").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.249946592608417
.PatternTintAndShade = 0
End With

'Définition de la variable à rechercher
Mot = InputBox("Saisir l'espèce à chercher. ", Title:="Recherche Espèce")
'Vérification si existante
If Mot = "" Then Exit Sub
For Each Ws In Worksheets
Nbre = Nbre + Application.CountIf(Ws.UsedRange, "=" & Mot)
Next Ws
'Message en cas de mot inexistant
If Nbre = 0 Then
MyValue = MsgBox(" L'espèce " & Mot & " n'est pas enregistrée ", vbOKOnly, " Recherche Espèce ")
Else
Cycle = 0
'Recherche et arrêt sur les cellules contenant le Mot
For Each Ws In Worksheets
With ActiveSheet
.Activate
Set Trouvé = Ws.Columns(2).Find(Mot, , xlValues, xlWhole)
If Not Trouvé Is Nothing Then
CellAddress = Trouvé.Address
Do
Ws.Activate
Trouvé.Select
MyValue = MsgBox(" L'espèce " & Mot & " a été trouvée ", vbOKOnly, " Recherche Espèce ")
'colorier la case du résultat en vert
With Selection.EntireRow.Columns("A:Q").Interior
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With

Exit Sub

If MyValue = vbNo Then Exit For
Set Trouvé = Ws.Columns(2).FindNext(After:=Trouvé)

Loop While Not Trouvé Is Nothing And Trouvé.Address <> CellAddress

End If

End With
Next Ws
End If

End Sub
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > volfoss Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

Le
Exit Sub
interpelle car le code en dessous ne sert rien
Et ceci encore plus en enlevant Exit Sub:
If MyValue = vbNo Then Exit For
0
volfoss Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   3 > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, cela fonctionne.
0
volfoss Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   3 > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai un soucis avec ma fonction recherche car lorsque j'effectu une recherche celle-ci se fait sur toutes les feuilles de mon classeur (feuille masquée ou affichée). j'aimerais que la recherche s'effectue uniquement sur la feuille active "Registre Exotique". Peux-tu m'aider car je ne trouve pas l'erreur dans mon code.
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

celle-ci se fait sur toutes les feuilles
Ben, qui a ecrit ceci:
'Recherche et arrêt sur les cellules contenant le Mot 
For Each Ws In Worksheets 
0
volfoss Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   3
 
Le code a été fait par moi j'ai essayer avec activesheets sans résultats.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > volfoss Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Re,
Vous voulez une recherche uniquement sur la feuille "Registre Exotique" colonne B?

Au debut de votre code, la couleur Blanche et grise est sur cette feuille?
0
volfoss Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   3 > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
Oui exactement juste effectuer la recherche sur la feuille "Registre Exotique" colonne B
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > volfoss Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Tout a fait Thierry,
Pour les couleurs du debut??
0
volfoss Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   3 > f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention  
 
Les changements de couleurs fonctionnent cest juste la recherche sur la feuille active Registre Exotique colonne B qui me pose soucis
0