Microsoft 365 Macro désactivé

farid

XLDnaute Occasionnel
Supporter XLD
Bonjour,
je vais essayé d'expliquer mon souci.
j'ai cette macro sur le classeur TEST qui fonctionne très bien en cliquant sur une des cellules de la colonne j'ouvre bien le classeur B qui se trouve dans le dossier Archive-2021.

Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
noligne = target.Row
If Not Intersect(target, Range("A:A")) Is Nothing Then
If target.Value = "" Then Exit Sub
Range("BB1") = target.Row
nom = target.Value
rep = ActiveWorkbook.Path & "\Archive-2021\"
Workbooks.Open rep & nom & ".xlsm"
End If
End Sub

Lorsque je ferme le classeur B via une macro , je reviens sur le classeur A, jusqu'ici tous fonctionne bien .
mon souci , lorsque je reclique sur une des cellules de la colonne A du classeur test le curseur clignote et je ne peux pas ouvrir le classeur. Pour ce faire je dois cliquer sur le bouton reset de la macro

Sub Reset()
Application.EnableEvents = True
End Sub

et ensuite je peux a nouveau cliquer dans l'une des cellules de la colonne A du classeur TEST et ouvrir a nouveau le classeur B dans le dossier Archive-2021.

La question :
serait-il possible d'éviter a chaque fois de faire une reset pour que la macro Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
soit fonctionnelle , ou alors est-ce possible d'intégrer reset ?


merci pour votre retour
 
Solution
Bonjour Farid,
Si vous devez faire "Application.EnableEvents = True" pour récaiver la macro, il doit y avoir quelque part "Application.EnableEvents = False".
Peut être avec cette solution :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
    noligne = target.Row
    If Not Intersect(target, Range("A:A")) Is Nothing Then
        If target.Value = "" Then Exit Sub
        Application.EnableEvents = False
        Range("BB1") = target.Row
        nom = target.Value
        rep = ActiveWorkbook.Path & "\Archive-2021\"
        Application.EnableEvents = True
        Workbooks.Open rep & nom & ".xlsm"
    End If
End Sub

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Farid,
Si vous devez faire "Application.EnableEvents = True" pour récaiver la macro, il doit y avoir quelque part "Application.EnableEvents = False".
Peut être avec cette solution :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
    noligne = target.Row
    If Not Intersect(target, Range("A:A")) Is Nothing Then
        If target.Value = "" Then Exit Sub
        Application.EnableEvents = False
        Range("BB1") = target.Row
        nom = target.Value
        rep = ActiveWorkbook.Path & "\Archive-2021\"
        Application.EnableEvents = True
        Workbooks.Open rep & nom & ".xlsm"
    End If
End Sub
 

farid

XLDnaute Occasionnel
Supporter XLD
Bonjour Farid,
Si vous devez faire "Application.EnableEvents = True" pour récaiver la macro, il doit y avoir quelque part "Application.EnableEvents = False".
Peut être avec cette solution :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
    noligne = target.Row
    If Not Intersect(target, Range("A:A")) Is Nothing Then
        If target.Value = "" Then Exit Sub
        Application.EnableEvents = False
        Range("BB1") = target.Row
        nom = target.Value
        rep = ActiveWorkbook.Path & "\Archive-2021\"
        Application.EnableEvents = True
        Workbooks.Open rep & nom & ".xlsm"
    End If
End Sub
Bonjour Sylvanu et merci pour cette réponse.
en me basant sur votre solution, j'ai touvé la source de mon probleme qui venait du classuer B dans un module.Le problème est corrigé.
merci beaucoup
 

Discussions similaires

Statistiques des forums

Discussions
294 449
Messages
1 938 591
Membres
188 943
dernier inscrit
FOFANA ABDOUL AZIZ