Fonction recherche dans classeur (Formule)
Bonjour,
j'ai un classeur excel avec des tableaux dans plusieur feuille.
mon problème est d'ecrire un formule dans une cellule qui m'affiche l'adresse d'un "valeur à chercher" dans la totalité du classeur.
exp: je cherche le numero "1000" dans la classeur et le résultat " Feuil 2 E15".
Cdt.
Re troy1985 le forum
un petit fichier exemple STP
Par contre si tu as la valeur 1000 50 fois dans le classeur on fait quoi????
il faut t'afficher partout ou tu peux la trouver?
a+
papou
Bonjour Troy, Papou, bonjour le forum,
Par formule je ne sais pas faire. Une proposition VBA :
Sub Macro1()
Dim BE As Variant 'déclare la varaiable BE (Boîte d'Entrée)
Dim O As Worksheet 'déclare la varaiable O (Onglet)
Dim R As Range 'déclare la varaiable R (Recherche)
Dim TEST As Boolean 'déclare la varaiable TEST
BE = Application.InputBox("Taper la valeur à rechercher.", "RECHERCHER", Type:=2) 'définit la boîte d'entrée BE
If BE = False Or BE = "" Then Exit Sub 'si bouton [Annuler] ou non reseignée + bouton [OK], sort de la procédure
For Each O In Worksheets 'boucle sur tous les onglets O du classeur
Set R = O.Cells.Find(BE, , xlValues, xlWhole) 'définit la recherche R (recherche entière de BE dans toutes les cellules de l'onglet)
If Not R Is Nothing Then 'si il existe au moins une occurrence trouvée
MsgBox R.Value & " trouvé dans l'onglet " & O.Name & " cellule " & R.Address 'message
O.Activate 'active l'onglet de la première occurrence trouvée (facultatif)
R.Select 'sélectionne la cellule de la première occurrence trouvée (facultatif)
TEST = True 'redéfinit la variable TEST
Exit Sub 'sort de la procédure
End If 'fin de la condition
Next O 'prochain onglet de la boucle
If TEST = False Then MsgBox "Aucune occurrence trouvée !" 'message si ocune occurrence n'est trouvée
End SubComme le souligne Papou, ce code s'arrête à la première occurrence trouvée. S'il y a en a plusieurs il faut que tu nous dises ce que tu veux faire.
Bonjour Robert
tu vas vite !!!! et là on retrouve les codes de Robert
a+
Papou
Re-bonjour,
alors je suis en cour de traitement de se type de modelé
la valeur à chercher est unique donc il ne se répété pas
dans chaque feuille j'ai plusieurs tableaux de se type mais les nombre sont unique.
mon but final est a partir de l’adresses de la valeur à chercher est:
exp: le nombre "25" se trouve dans "feuil1.D7"
ensuite je peut savoire sa position (e.i)
Merci de m'aider
Cdt.
Bonjour ThauTheme,
Merci beaucoup pour votre proposition.
la probleme des macros quel ne s’exécute pas par exemple sous android
si je mais un type de fichier dans mon smartphone pour faire un recherche rapide a distance, android ne prend pas en charge.
merci.
Bonjour Troy, Papou, bonjour le forum,
Par formule je ne sais pas faire. Une proposition VBA :
Sub Macro1() Dim BE As Variant 'déclare la varaiable BE (Boîte d'Entrée) Dim O As Worksheet 'déclare la varaiable O (Onglet) Dim R As Range 'déclare la varaiable R (Recherche) Dim TEST As Boolean 'déclare la varaiable TEST BE = Application.InputBox("Taper la valeur à rechercher.", "RECHERCHER", Type:=2) 'définit la boîte d'entrée BE If BE = False Or BE = "" Then Exit Sub 'si bouton [Annuler] ou non reseignée + bouton [OK], sort de la procédure For Each O In Worksheets 'boucle sur tous les onglets O du classeur Set R = O.Cells.Find(BE, , xlValues, xlWhole) 'définit la recherche R (recherche entière de BE dans toutes les cellules de l'onglet) If Not R Is Nothing Then 'si il existe au moins une occurrence trouvée MsgBox R.Value & " trouvé dans l'onglet " & O.Name & " cellule " & R.Address 'message O.Activate 'active l'onglet de la première occurrence trouvée (facultatif) R.Select 'sélectionne la cellule de la première occurrence trouvée (facultatif) TEST = True 'redéfinit la variable TEST Exit Sub 'sort de la procédure End If 'fin de la condition Next O 'prochain onglet de la boucle If TEST = False Then MsgBox "Aucune occurrence trouvée !" 'message si ocune occurrence n'est trouvée End SubComme le souligne Papou, ce code s'arrête à la première occurrence trouvée. S'il y a en a plusieurs il faut que tu nous dises ce que tu veux faire.
Bonjour ThauThème, Papou, bonjour le forum
vraiment c génial, c se que j'ai besoin comme résultat, mais comme méthode est il possible de le faire avec des formules.
Merci, Cdt.
Bonjour Troy, Papou, bonjour le forum,
Par formule je ne sais pas faire. Une proposition VBA :
Sub Macro1() Dim BE As Variant 'déclare la varaiable BE (Boîte d'Entrée) Dim O As Worksheet 'déclare la varaiable O (Onglet) Dim R As Range 'déclare la varaiable R (Recherche) Dim TEST As Boolean 'déclare la varaiable TEST BE = Application.InputBox("Taper la valeur à rechercher.", "RECHERCHER", Type:=2) 'définit la boîte d'entrée BE If BE = False Or BE = "" Then Exit Sub 'si bouton [Annuler] ou non reseignée + bouton [OK], sort de la procédure For Each O In Worksheets 'boucle sur tous les onglets O du classeur Set R = O.Cells.Find(BE, , xlValues, xlWhole) 'définit la recherche R (recherche entière de BE dans toutes les cellules de l'onglet) If Not R Is Nothing Then 'si il existe au moins une occurrence trouvée MsgBox R.Value & " trouvé dans l'onglet " & O.Name & " cellule " & R.Address 'message O.Activate 'active l'onglet de la première occurrence trouvée (facultatif) R.Select 'sélectionne la cellule de la première occurrence trouvée (facultatif) TEST = True 'redéfinit la variable TEST Exit Sub 'sort de la procédure End If 'fin de la condition Next O 'prochain onglet de la boucle If TEST = False Then MsgBox "Aucune occurrence trouvée !" 'message si ocune occurrence n'est trouvée End SubComme le souligne Papou, ce code s'arrête à la première occurrence trouvée. S'il y a en a plusieurs il faut que tu nous dises ce que tu veux faire.
Bonjour ThauThème
merci pour cette solution, alors comment je peut écrire (inséré) les résultat comme R.value et O.name et r.adress dans des cellules du feuil1.
Meci Cdt.