Macro - Bouton pour recherche d'onglet

Bonjour,

je souhaite créer un bouton pour que, face à un texte inscrit et en cliquant dessus, la feuille recherchée s'ouvre automatiquement.

Donc, j'ai écrit la macro de base :

Sub Recherche_onglet ()

If Range("G7").Value="semaine 1" then

Sheets("semaine 1").Select

Else if.....

Et ceci à taper pour 52 semaines, 12 mois et 4 trimestres... Long et fastidieux..

J'ai alors pensé à une macro du genre :

Sub Recherche_onglet ()

Dim i as String

If Range("G7").Value="i" then

Sheets("i").Select

Else MsgBox "erreur de saisie - cette feuille n'existe pas"

end if

Seulement, cela ne marche pas, mais me faciliterait la vie..

Donc si quelq'un a quelques petites astuces.

Merci

Bonjour

Un essai avec un bouton

Sub Recherche_onglet()
  On Error Resume Next
  Sheets(ActiveCell.Value).Select
  On Error GoTo 0
End Sub

Et par double clic sur le nom

Code à mettre dans le module de la feuille

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Cancel = True
  On Error Resume Next
  Sheets(Target.Value).Select
  On Error GoTo 0
End Sub

Merci beaucoup pour ces codes.

mais juste à titre indicatif, qu'est ce qui ne va pas dans le code que j'avais tapé?

Bonjour

Et bien je n'ai pas trop cherché

mais cette ligne est bizarre

If Range("G7").Value="i" then

Tu compares la valeur de G7 avec la lettre i

Dans quel but ?

En plus tu es toujours sur la cellule G7 : Tu n'as qu'une page ?

Ben enfaite, j'ai mis en place un onglet de recherche.

et la personne tape dans la cellules G7 la semaine, le mois ou le trimestre qu'il veut consulter.

et donc en appuyant sur le bouton, cela ira directement sur la page concernée.

Donc je me suis dit, si je définis une variable alpha, que la personne tape ce alpha, il sera directement renvoyé à cette page.

enfin, je sais pas trop si c'est possible...

j'essaie à taton..

Bonjour

Dans ce cas une solution

Sub Recherche_onglet()
Dim Ok As Boolean

  On Error Resume Next
  Ok = Sheets(Range("G7").Value).Name <> ""
  On Error GoTo 0
  If Ok = False Then
    MsgBox "Cette feuille n'existe pas"
  Else
    Sheets(Range("G7").Value).Select
  End If
End Sub

Ca marche tres bien

cependant, il me reste un petite question.

Est ce que deux macros peuvent interferer l'une sur l'autre?

Dans mon cas : j'ai deux macros.

- une sur un module : pour la recherche de feuiller

- une seconde sur This Worbook, qui est un code que tu m'avais deja donné, concernant le nomination auto d'un onglet selon la cellules J2 cette page.

Mon problème est que quand je tape un nom de semaine sur l'onglet de recherche, il m'y emmene, mais avec un message d'erreur sur la seconde macro, concernant la partie Intersect(Range("J2"),Target)

Et je reste incapable de trouver une solution.

j'essaie de changer de place les macros, mais je ne pense pas que ce soit le vrai probleme..

Bonjour

J'ai repris le fichier, j'y ai ajouté cette macro et pas de souci

Donnes moi la démarche à suivre pour arriver au plantage

En attendant voici le fichier test

Donc, j'ai bien resuivi toutes les étapes de codage.

et j'ai donc la meme chose que le test envoyé.

Mais toujours le même probleme, il m'affiche une boite de dialogue avec écrit :

erreur d'exécution '1004' :

la méthode 'Intersect' de l'objet '_Global' a échoué.

En faite, j'ai fait comme en situation, tous mes onglets ont été nommés par l'inscription des différentes cellules J2

Je suis allé dans l'onglet de recherche où j'ai tapé ma recherche.

Je clique sur le bouton et il se passe deux choses quasi simultanées :

- il m'envoie sur l'onglet recherché

- une demi seconde apres l'erreur d'exécution apparait.

Quand je clique sur débogage, il me surligne la ligne où apparait : If not Intersect(Range("J2",Target).......

Quand je clique sur Fin, il me fait directement réaparraitre sur la feuille recherchée.

PS : ma cellule G7 est fusionnée avec 3 autres cellules, j'avais lu que ca pouvait etre dangereux de le faire.. je sais pas trop comment faire..

Bonjour

Avec le fichier que je t'ai envoyé cela plante ?

Envoies moi ton fichier sinon je ne peux rien tester

hurricane57 a écrit :

j'avais lu que ca pouvait etre dangereux de le faire.

dangereux non, emm... embêtant oui

voila le fichier, que j'ai réduit au maximum.

j'ai reessayé la manip, et toujours le même problème..

j'espere juste que ce n'est pas une erreur à la c.. et t'avoir fait perdre ton temps.

Bref, dis moi ce que tu en penses..

Voila le fichier diminué au maximum

J'ai refait les manip, mais retrouve le même bug..

Donc je ne vois pas trop ce que c'est, et j'espère que ce n'est pas qu'un tout petit truc qui t'auras fait perdre beaucoup de temps..

Bonjour

Plein d'essais et pas de problème

Je me suis amusé un peu avec ton fichier

Oh mais cest fantastique tout ca!!

mais concernant le probleme, eh bien je ne vois pas du tout, si en plus tu n'as rien vu..

je ne sais pas, c'est vraiment bizarre..

je re essairais demain au boulot, et t'enverrais un message pour te dire ce qu'il en sera.

En tout cas, merci pour tout, ca m'aide énormément!

ah mais, c'est parfait ca!

Merci beaucoup!

Mais sur mon classeur, reste toujours le même problème de bug, mais seulement quand j'écris la recherche.

Quand je la sélectionne via la liste, ya aucun problème.

Donc tout va bien

Encore merci pour toutes tes aides très précieuses

Rechercher des sujets similaires à "macro bouton recherche onglet"