lien pour ouvrir un classeur EXCEL sur une valeur de cellule variable

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Phareouest

XLDnaute Nouveau
Bonjour,

j'ai un petit problème que je n'arrive pas à résoudre...
J'ai 2 classeurs EXCEL. Dans chacun des classeurs, j'ai la colonne "A" où l'on retrouve les mêmes valeurs mais sur des lignes qui peuvent différer.
Je souhaiterais créer un lien qui me permettrait en cliquant sur une valeur du classeur EXCEL1 (ou sur un bouton) d'ouvrir le classeur EXCEL2 sur la même valeur.
Le lien à créer peut être un lien hypertexte ou une macro, ça m'est égal.
Ai-je été assez clair ?

Ci-joint les fichiers "alléger" en cause

Merci pour vos réponses
 

Pièces jointes

Re : lien pour ouvrir un classeur EXCEL sur une valeur de cellule variable

Bonsoir,

Une piste, à mettre dans le module de la feuille "Prog 2012" et faire un double clic dans une cellule de la colonne A :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim Classeur As Workbook
    Dim Plage As Range
    Dim Cel As Range
    
    'si dans la colonne A
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        
        'si pas vide
        If Target.Value <> "" Then
            
            'évite la boite de message si déjà ouvert
            Application.DisplayAlerts = False
            
            'évite l'erreur si classeur déjà ouvert
            On Error Resume Next
            Set Classeur = Workbooks.Open(ThisWorkbook.Path & "\Suivi affaires.xlsm")
            
            Application.DisplayAlerts = True
            
            'si ouvert, l'affecte à la variable
            If Err.Number <> 0 Then Set Classeur = Workbooks("Suivi affaires.xlsm")
            
            'défini la plage de recherche
            With Classeur.Worksheets("Suivi")
             
                Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)) 'de A1 à Ax
            
            End With
            
            'effectue la recherche
            Set Cel = Plage.Find(Target.Value, , xlValues, xlWhole)
            
            'si trouvé, active le classeur et sélectionne la cellule
            'sinon, réactive ce classeur
            If Not Cel Is Nothing Then
                
                Cel.Select
            Else
            
                ThisWorkbook.Activate
                
            End If
            
            
        End If
        
    End If

End Sub

Hervé.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour