Moteur de recherche sous Excel pour se déplacer dans une feuille

Bonjour,

J’ai dans une page pas loin de 200 tableaux différents. Pour me déplacer plus vite, je souhaite faire un petit moteur de recherche avec 2 menus déroulants en cascade. Le résultat en cellule E1 donne le nom qui caractérise un des tableaux de la page où je souhaite me déplacer.

Ce que je souhaiterai c’est que lorsque j’appuie sur le bouton, la macro déplace le curseur automatiquement sur le nom qui se trouve juste au-dessus de chacun de mes tableaux.

Ça n’est peut-être pas très compliqué mais comme je débute en VBA je galère un peu. Je voulais partir de l’enregistreur de macro qui me propose ce code :

Sub Essai()
Range("E1").Select
Selection.Copy
Cells.Find(What:="BAT_TH_1551", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Application.CutCopyMode = False
End Sub

Ce qui me dérange ici bien sûr c’est qu’il a copié le contenu donc ma macro ne fonctionne qu’une fois ! J’ai essayé d’identifier une variable string et d’y faire référence à la place du "BAT_TH_1551" mais ça aurait été trop simple …

Merci pour votre retour,

Hello,

Pourquoi ne pas utiliser Ctrl+F ?

Bonjour Rag02700,

Je peux effectivement utiliser l’outil de recherche qui m’oblige à taper le nom de la cellule que je recherche qui a une référence lettres + N°. Du coup c’est un peu long et fastitieux.

Je trouve qu’avec un menu déroulant et une macro ce serait bien plus simple, d’autant que c’est un programme qui se destine à des collègues qui ne maitrisent pas bien Excel…

Hello,

16olivh34.xlsm (13.48 Ko)

Bonjour à tous,

Tu ecris le nom de ton tableau en haut a gauche puis entrée ==>tu arrives sur ton tableau avec la premiere cellule selectionnée.

Bonjour Djidji,

Merci, mais ça ne fonctionne pas parce que je ne connais pas d’avance le nom des tableaux qui n’est pas explicite. D’où les menus déroulants.

J’ai fini par trouver, il me manquait d’affecter la valeur de la cellule E1 dans une variable.

Merci à tous pour vos réponses.

Sub Recherche_tbl()

Dim cherche As String
cherche = ""
'
cherche = Range("E1").Value
Cells.Find(What:=cherche, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
End Sub

Rechercher des sujets similaires à "moteur recherche deplacer feuille"