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 -
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 ")
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:
- Macro rechercher plusieurs résultats
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Resultats foot - Télécharger - Vie quotidienne
- Rechercher ou entrer l'adresse - Guide
- Lexer resultats - Télécharger - Sport
- Rechercher image - Guide
3 réponses
Bonjour,
Votre code est incomplet. Soit vous n'avez pas tout mis a dispo, soit impossible que ca "marche".
Votre code est incomplet. Soit vous n'avez pas tout mis a dispo, soit impossible que ca "marche".
Bonjour,
celle-ci se fait sur toutes les feuilles
Ben, qui a ecrit ceci:
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
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
Le interpelle car le code en dessous ne sert rien
Et ceci encore plus en enlevant Exit Sub: