Code VBA imbriqué

Liste déroulante avec liens hypertextes

Bonjour,

Je recherche actuellement à réaliser la chose suivante : une liste déroulante comportant les mois de l'année (Janvier jusqu'à décembre). Je possède 12 feuilles dans mon classeur nommé "Janvier", "Février", ... "Décembre".

Ce que je cherche à faire c'est que lorsque je clique par exemple sur "Janvier" dans ma liste déroulante, je me retrouve sur la feuille du classeur Janvier ... que je sur ma liste je clique sur le choix "Février", cela m'emmène sur ma feuille du classeur février ...

j'ai pu trouver un code vba sur le forum mais je dois declarer dans mon code vba l'adresse dde la cellule de recherche

comment faire pour pouvoir mettre la case de recherche n'importe ou

d'ou code vba ibriqué

Private Sub Worksheet_Change(ByVal Target As Range) 'événement excel qui capture les changements dans les cellules de la feuille

'On va lancer une boucle for Next pour rechercher dans toute les feuilles le nom de la bonne feuille pour la selectionner

If Target.Address = ThisWorkbook.activesheet.Range("D1").Address Then 'si le changement repéré dans excel correspond à un changement dans la cellule de choix de liste déroulante, alors ok lire le reste du code, sinon sort

For recherche_sheet = 1 To ThisWorkbook.Worksheets.Count 'fait une recherche par boucle dans les feuilles autant de fois qu'il y'a de feuilles dans le classeur

If ThisWorkbook.Worksheets(recherche_sheet).Name = ThisWorkbook.activesheet.Range("D1").Value Then 'recherche_sheet sert de variable, variable qui change à chaque tour de boucle, ici si nous somme à la boucle 2, alors le code va lire le nom de la feuille 2, la variable prenant la valeur 2, > si valeur feuille = valeur liste déroulante en cours de lecture alors ok <!!> le nom de feuille dans la liste doit être pareil majuscule/majuscule minuscule/minuscule

ThisWorkbook.Worksheets(recherche_sheet).Select 'ok on selectione cette feuille, la feuille étant le numéro de feuille en fonction du numéro de tour de boucle

End If

Next recherche_sheet 'poursuite boucle

End If

End Sub

j'aimerais que vous m'apporter votre précieuse aide

d'avance merci

bonsoir,

une proposition code à mettre dans le code de toutes les feuilles où tu veux que cette possibilité soit active.

Private Sub Worksheet_Change(ByVal Target As Range) 'événement excel qui capture les changements dans les cellules de la feuille

On Error Resume Next
Sheets(Target.value).Select
On Error GoTo 0
End Sub

une autre proposition à mettre le module thisworkbook, il faut supprimer le code Private Sub Worksheet_Change de toutes les feuilles

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'événement excel qui capture les changements dans les cellules de la feuille

    On Error Resume Next
    Sheets(Target.value).Select
    On Error GoTo 0
End Sub

merci pour la réponse

une autre aide svp

je veux avoir 2 classeurs le premier avec feuille 1 avec les lien et un autre classeur ou on doit chercher les lien

es possible de maider sue le code vba svp

1mois.xlsm (29.49 Ko)
1anthonye-3.xlsm (21.32 Ko)
Rechercher des sujets similaires à "code vba imbrique"