Il faudrait faire une liste des codes article, par exemple dans la colonne D, avec le classeur correspondant dans la colonne E, et la feuille correspondante dans la colonne F.
Puis, il faudrait créer la macro VB suivante (pour créer une macro, aller dans menu/Outils/Macro/Visual Basic Editeur, cliquer sur un "MicrosofExcelObject" pour faire apparaître une page blanche à droite, et copier/coller les lignes ci-dessous):
Code :
- Public Sub change_de_page()
- Dim ref As String
- Dim recherche_cellule As Range
- Dim nouveau_classeur As String, nouvelle_feuille As String
- ' Demande de saisie d'une référence
- ref = InputBox("Saisir une référence", "Redirection" )
-
- ' Recherche si la référence existe dans la colonne D
- Set recherche_cellule = Columns("D" ).Find(what:=ref, LookIn:=xlValues)
- If Not recherche_cellule Is Nothing Then
-
- ' Récupère le nom du classeur indiqué dans la colonne E
- nouveau_classeur = Cells(recherche_cellule.Row, "E" ).Value
-
- ' Récupère le nom de la feuille indiquée dans la colonne F
- nouvelle_feuille = Cells(recherche_cellule.Row, "F" ).Value
- 'MsgBox (nouveau_classeur & " - " & nouvelle_feuille)
-
- ' Changement de classeur
- Workbooks(nouveau_classeur).Activate
-
- ' Changement de feuille (onglet dans un classeur)
- Worksheets(nouvelle_feuille).Activate
- Else
- ' Non trouvé
- MsgBox ("Réference " & ref & " non trouve." )
- End If
- End Sub
|
Pour appeler la macro, revenir sur une feuille Excel et appuyer sur les deux touches <alt><F8>.