Script Excel - liste déroulante qui débouche sur une feuille du classeur

Bonjour,

Je suis débutante ++ en programmation VBA et j'ai besoin d'un coup de main svp.
Pour rendre service à des amis je souhaite mettre en place un Excel réunissant plusieurs process et plusieurs raccourcis internet qui initialement sont sur des sources différentes. Il y a alors trois grandes catégories d'éléments dans ce fichier : les "Process", les "Raccourcis" et "Les Petits +"

J'ai crée le fichier en question avec une page d'accueil sur laquelle il y avait jusqu'à présent trois grandes colonnes pour ces trois éléments.
Pour "Raccourcis" ce sont des liens hypertextes, pour "Les Petits +" également.
Par contre pour les "Process" ce sont des feuilles que j'ai crée par thématique, dans ce fichier, et rattachées à l'accueil sous forme de liens hypertextes internes au fichier. L'accueil ressemblait à la première image (PJ).

Pour soulager ce contenu, je souhaiterais faire en sorte que depuis l'accueil j'ai seulement une liste déroulante par élément ("Process", "Raccourcis", "Les petits +")
J'ai crée en deuxième image (PJ), le nouveau design de l'Accueil avec ces listes déroulantes. Maintenant il me faudrait mettre en place un script pour que :
- Lorsqu'un choix est fait dans la liste Raccourcis ou la liste Les Petits + : le lien hypertexte correspondant s'ouvre ou s'affiche à côté
- Lorsqu'un choix est fait dans la liste Process : la feuille enregistrée (sur ce même classeur) nommée par le nom de la thématique sélectionnée s'ouvre

J'ai commencé à créer un script pour la liste Process mais je sèche pour résoudre mes bugs et c'est là que j'en appelle à vos savoir-faire.
Pour info, ma liste Process est ajoutée à l'accueil en cellule C10.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("C10")) Is Nothing Then
Dim selectedSheet As String
selectedSheet = Me.Range("C10").Value

' Error handling using "On Error GoTo" for clarity
On Error GoTo ErrHandler

' Check for worksheet existence first
If Not ThisWorkbook.Sheets(selectedSheet).Exists Then
MsgBox "Worksheet '" & selectedSheet & "' not found."
GoTo ExitSub ' Prevent unnecessary activation attempts
End If

' Activate the worksheet if it exists
ThisWorkbook.Sheets(selectedSheet).Activate

ExitSub:
On Error GoTo 0 ' Resume normal error handling
Exit Sub ' Exit the procedure

ErrHandler:
MsgBox "Error encountered: " & Err.Description
Resume ExitSub ' Skip remaining code and go to ExitSub
End If
End Sub

Merci à ceux qui auront le courage et la patience de m'aider.

Cordialement,

Léa

pj 1 accueil actuel image

Bonjour,
Une petite contribution...
Cdlt.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet

    On Error Resume Next
    If Target.Address = "$C$10" And Not IsEmpty(Target) Then
        Set ws = ThisWorkbook.Worksheets(Target.Value)
    End If
    On Error GoTo 0

    If ws Is Nothing Then
        MsgBox "Worksheet '" & Target & "' not found."
    Else
        With ws
            .Activate
            .Cells(1).Select
        End With
    End If

End Sub

Bonjour,

Merci pour votre aide mais je rencontre 76 erreurs avec votre aide.
Savez-vous pourquoi je n'ai pas toutes ces fonctions ?

Line #3: ';' expected. Dim ws As Workshee Line #3: ';' expected. Dim ws As Workshee Line #3: ';' expected. Dim ws As Workshee Line #5: ';' expected. On Error Resume Nex Line #5: ';' expected. On Error Resume Nex Line #5: ';' expected. On Error Resume Nex Line #6: ';' expected. If Target.Address = "$C$10" And Not IsEmpty(Target) The Line #6: ';' expected. If Target.Address = "$C$10" And Not IsEmpty(Target) The Line #6: ';' expected. If Target.Address = "$C$10" And Not IsEmpty(Target) The Line #6: ';' expected. If Target.Address = "$C$10" And Not IsEmpty(Target) The Line #6: ';' expected. If Target.Address = "$C$10" And Not IsEmpty(Target) The Line #7: ';' expected. Set ws = ThisWorkbook.Worksheets(Target.Value Line #8: ';' expected. End I Line #9: ';' expected. On Error GoTo Line #9: ';' expected. On Error GoTo Line #9: ';' expected. On Error GoTo Line #11: ';' expected. If ws Is Nothing The Line #11: ';' expected. If ws Is Nothing The Line #11: ';' expected. If ws Is Nothing The Line #11: ';' expected. If ws Is Nothing The Line #12: ';' expected. MsgBox "Worksheet '" & Target & "' not found. Line #14: ';' expected. With w Line #17: ';' expected. End Wit Line #18: ';' expected. End I Line #20: ';' expected. End Su Line #21: ';' expected. End Su

Re,
Avec un petit fichier !?
Cdlt.

9brlea.xlsm (18.57 Ko)
Rechercher des sujets similaires à "script liste deroulante qui debouche feuille classeur"