VBA cellules activant une macro

Bonjour à tous,

Je travaille actuellement sur un projet afin de faciliter et d'automatiser la gestion des proposition d'honoraire pour mon agence. (je précise que ce n'est pas du tout ma branche mais qu'il semblerai que je soit le plus apte à le faire dans mon agence).

J'ai créé un classeur excel contenant une première feuille "récap" puis un nombre x de feuilles correspondant aux diverses propositions d'honoraires (devis) que nous faisons. La feuille "récap" contient un tableau synthèse des propos

Cependant comme le nombre de propositions est très grand (environ 50 et nous ne sommes qu'en février), il est pénible de devoir parcourir tous les onglets de feuille pour trouver le détail de la propo.

L'idée serait d'avoir dans le tableau récap, une colonne "accès" dont les cellule activerai une macro qui ouvre la bonne feuille.

J'ai réussi à le faire pour une ligne (la 4) mais je ne connais pas assez (voir pas du tout) le langage VBA pour "généraliser" ma macro.

Je suis désolé si ce que je demande peu sembler trivial mais je n'ai pas trouvé de solution avant de poster ici (faute de savoir que chercher en fait..).

Vous trouverez ci joint un exemple de ce que je veux faire (avec la macro pour une ligne).

6test-propo.xlsm (21.52 Ko)

Je vous remercie par avance.

Bonne journée

Bonjour;

Si, comme dans ton exemple, le tableau s'appelle Récap, la colonne ACCES ET que le nom des feuilles est en colonne NUM :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count = 1 Then
    If Not Intersect(Target, Range("Récap[ACCES]")) Is Nothing Then
        Dim nomfeuille As String
        nomfeuille = Cells(Target.Row, Range("Récap[Num]").Column).Value
        On Error Resume Next
        Sheets(nomfeuille).Activate
        If Err.Number > 0 Then MsgBox "La feuille : " & nomfeuille & " n'existe pas!"
        On Error GoTo 0
    End If
End If
End Sub

Bonjour,

à tester,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 6 Then
    Sheets(Cells(Target.Row, "B").Value).Activate
End If
End Sub

wow!

Merci beaucoup pour vos réponses rapides!

La solution de Pijaku fonction à merveille sur mon fichier test, je t'essaie dès que possible sur le fichier final (en adaptant le code évidemment).

Encore une fois merci beaucoup!

Bonne journée à vous.

Baptiste

Rechercher des sujets similaires à "vba activant macro"