Comment double-cliquer sur une cellule pour ouvrir une feuil

Résolu
O-BN Messages postés 21 Date d'inscription lundi 7 septembre 2020 Statut Membre Dernière intervention 9 août 2024 - 9 août 2024 à 12:08
O-BN Messages postés 21 Date d'inscription lundi 7 septembre 2020 Statut Membre Dernière intervention 9 août 2024 - 9 août 2024 à 13:46

Bonjour,

J'ai une feuille dans la quelle j'ai listé mes élément dans les colonnes A , en face de chaque cellule de la colonne A j'ai une liste des noms des feuilles ( déjà créés) associés  à chaque élément dans les colonnes  C .

Comment double-cliquer sur une cellule pour ouvrir une feuille spécifiques ( j'ai plusieurs feuilles ) ?

J'ai utiliser le code VBA suivant : 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updated by Extendoffice 20180822
Dim xArray, xAValue As Variant
Dim xFNum As Long
Dim xStr, xStrRg, xStrSheetName As String
xRgArray=Array("A1;Sheet2", "A12;Sheet3", "A4;Sheet4", "A100;Sheet5")
On Error Resume Next
For xFNum=LBound(xRgArray) To UBound(xRgArray)
xStr=""
xStr=xRgArray(xFNum)
xAValue=""
xAValue=Split(xStr, ";")
xStrRg=""
xStrRg=xAValue(0)
xStrSheetName=""
xStrSheetName=xAValue(1)
If Not Intersect(Target, Range(xStrRg)) Is Nothing Then
Sheets(xStrSheetName).Activate
End If
Next
End Sub

Mais comme j'ai plusieurs feuilles je ne peux pas lister tous les objets dans ce code et à chaque fois j'aurais besoins d'ajouter des objets et des feuilles .

Est il possible d'adapter  ce code pour que je puisse en double-cliquant  sur une cellule " exemple A3 " --> Excel cherche et  ouvrir la feuille qui a le même nom dans la cellule C3 ?

Merci beaucoup d'avance pour votre retour 
Windows / Edge 127.0.0.0

A voir également:

2 réponses

danielc0 Messages postés 1139 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 19 septembre 2024 133
Modifié le 9 août 2024 à 12:58

Bonjour,

Essaie :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Cancel = True
  On Error Resume Next
  If Target.Column = 1 Then
    Sheets(Target.Offset(, 2).Value).Activate
  End If
End Sub

Daniel


1
O-BN Messages postés 21 Date d'inscription lundi 7 septembre 2020 Statut Membre Dernière intervention 9 août 2024
9 août 2024 à 13:46

Bonjour 

Merci beaucoup pour votre retour . 

C'est exactement ce que je veux .

Cordialment , 

0