Notifier classeur disponible VBA

yoan8306

XLDnaute Nouveau
Bonjour à tous.
Je suis nouveau sur le forum et je débute dans le monde du code VBA.
Grâce à vous j'ai pus faire un classeur avec de très bonnes fonctionnalitées.
Mon problem vient aujourd'hui ou je dois poster une demande car je n'arrive pas à trouver la solution.
Par un classeurs A les utilisateurs ouvre un autre classeurB quand celui-ci n'est pas ouvert par quelqu'un d'autres.
Ce que je souhaiterai c'est que le classeur A puisse permettre d'envoyer une notification quand le classeur B et disponible sans avoir besoin d'ouvrir le classeur A à chaque fois.
Un peu comme si on ouvrait le classeur B directement et que excel nous permet d'obtenir le choix de lecture seul ou notifier quand disponible.

Je vous joint mon fichier aisni que le code ci-dessous afin que vous puissiez comprendre.
En esperant avoir été Claire dans ma demande, je vous remercie par avance des propositions que vous puissiez m'apporter.
Code:
Private Sub Workbook_Open()
   
If IsFileOpen("\\SVFRMARFILE01\Data\Documents\Services Techniques\Suivi de Maintenance\Compte-rendu réunion maintenanceok.xlsm") Then
    
        MsgBox "Fichier déja ouvert par " & Range("A80").Value & " depuis le " & Range("A81").Value
        'ThisWorkbook.Close
      
   Else
     
        reponse = MsgBox("Le fichier n'est pas utilisé." & Chr(10) & " Voulez-vous ouvrir le fichier ?", vbYesNo + vbInformation, "Fichier prêt pour ouverture")
                    
                     If reponse = vbYes Then
            Sheets("Sheet1").Unprotect Password:="Maint"
                   Range("A80") = Environ("UserName")
                   Range("A81") = Format(Now(), "dd/mm hh:mm")
            Sheets("Sheet1").Protect Password:="Maint"
            Workbooks.Open "\\SVFRMARFILE01\Data\Documents\Services Techniques\Suivi de Maintenance\Compte-rendu réunion maintenanceok.xlsm"
                           Else
                   ' ThisWorkbook.Close
                     End If
                
            Me.Save
        ' ThisWorkbook.Close
      
    End If
     ' ThisWorkbook.Close
End Sub
 

Pièces jointes

  • Compte-rendu réunion maintenance.xlsm
    88.1 KB · Affichages: 20

youky(BJ)

XLDnaute Barbatruc
Bonjour
Voici un fichier tout prêt
J'utilise application.ontime qui exécute la macro toutes les 5 secondes (facilement modifiable)
J'ai mis 1 bouton si il est visible c'est que le fichier est dispo sinon le bouton deviens invisible
Bruno
 

Pièces jointes

  • Compte-rendu réunion maintenanceBJ.xlsm
    83.5 KB · Affichages: 43

yoan8306

XLDnaute Nouveau
Merci beaucoup Youky, grâce a toi j'ai pu effectuer, ce que je voulais. j'ai modifié un peu le fichier pour le mettre a ma sauce.
Si l'utilisateur souhaite recevoir une notification sur son écran lorsque le fichier est disponible ça le fait. Ce que j'avais besoin est que l'utilisateur ne reste pas devant le fichier pour voir quand le fichier est disponible.
Voilà le résultat.
 

Pièces jointes

  • testCompte-rendu réunion maintenance.xlsm
    93.7 KB · Affichages: 25

youky(BJ)

XLDnaute Barbatruc
Bonjour Yoan,
Je pense que ce nouveau fichier répond à tes demandes.
Il serait peut être bon d'empêcher la croix de fermeture de l'userform à toi de voir.
J'ai mis aussi en événement Activate car lors de la fermeture du second fichier le OnTime se faisait plus.
Tu peux modifier 00:00:05 dans les OnTime ici c'est toutes les 5 secondes, je pense toutes les 10 secondes ou plus suffisent.
Bruno
 

Pièces jointes

  • testCompte-rendu réunion maintenance.xlsm
    89.7 KB · Affichages: 39

yoan8306

XLDnaute Nouveau
Merci beaucoup Youky pour ta disponibilitée et tes remarques. Ce nouveau fichier correspond totalement a mes attentes. Je pense que je vais laisser la crois de manière à laisser le choix à l'utilisateur soit d'ouvrir le classeur ou soit de fermer la notification afin de finir un travail en cours avant d'ouvrir le classeur. Mais oui un test toutes les 10 secondes peuvent suffire.

Encore merci pour ton aide précieuse.
A bientôt.
 

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 730
Membres
110 553
dernier inscrit
loic55