Bonjour à tous,
Je viens vers vous car j'ai un problème que je ne sais résoudre... et qui pourtant doit être simple.
Mon problème:
J'ai une base de donnée en feuille 4 avec une liste d'espèces présentes (colonne I à V).
En feuille 5, j'ai une InputBox qui demande quelle espèce est recherchée, et renvoie pour chaque résultat, des données (date, nom, action) liée à cette espèce.
Le code fonctionne mais ne renvoie pas toutes les données présentes (par exemple, il identifie 5 fois "loutre" au lieu des 8 présentes).
Voici mon code:
Je vous épargne les commentaires et nombreux test effectués.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Sub Recherche_espèce() Dim FL4 As Worksheet Dim FL5 As Worksheet Dim c As Range Dim i As Integer Dim don As String Set FL4 = Worksheets("Espèces") Set FL5 = Worksheets("Espèces_Valorisation") don = InputBox("Bonjour, quelle espèce recherches tu ?") With FL4.Range("i2:v" & FL4.Range("V65535").End(xlUp).Row) ' With FL4.Range("i2:v65535") Set c = .Find(don, LookAt:=xlPart) If Not c Is Nothing Then FirstAddress = c.Address i = 2 Do FL5.Cells(i, 5) = FL4.Cells(c.Row, 2) FL5.Cells(i, 6) = FL4.Cells(c.Row, 5) FL5.Cells(i, 7) = FL4.Cells(c.Row, 6) Set c = .FindNext(c) i = i + 1 Loop While Not c Is Nothing And c.Address <> FirstAddress End If End With Set c = Nothing 'Efface c pour libérer la mémoire End Sub
Le problème est donc que je ne comprends pas pourquoi certaines données ne sont pas identifiés (le format de cellule est identique pour chaque lignes).
J'ai parcouru de nombreux cas sur le forum, les aides dédiées sur le .Find ou le Range , mais ne trouve pas mon erreur...
Je tourne en rond depuis deux jours et j'ai le sentiment de ne pas avoir le recul nécessaire pour identifier mon erreur...
Merci d'avance pour votre aide!
P.S: Je sais que mon problème pourrait se résoudre facilement avec d'autres options (TCD, formule, etc.) mais cet outil sera utilisé par des personnes non familières avec Excel, d'où l'InputBox
Partager