Bonjour le forum,
Sur un fichier A j'ai une macro qui ouvre un second fichier B pour y faire un copier-coller. Ce second fichier B étant consultable par tout le monde je veux mettre un message d'erreur pour :
Si lors de l'execution de la macro du fichier A le fichier B est déjà ouvert par quelqu'un alors une Msgbox affiche :
"Le fichier B est utilisé par XXXXX contactez le pour qu'il le ferme".
Je sais que Userstatus permet de savoir quelle personne utilise un fichier cependant cette fonction ne marche pas si on est en lecture seule.
Voilà ce que j'ai coder mais qui ne focntionne pas :
J'ai beaucoup cherché et je retombe toujours sur la fonction Userstatus qui ne fonctionne que si l'on est sur le fichier en mode écriture.
Si quelqu'un à une idée ou une astuce je suis preneur.
Merci d'avance
Sur un fichier A j'ai une macro qui ouvre un second fichier B pour y faire un copier-coller. Ce second fichier B étant consultable par tout le monde je veux mettre un message d'erreur pour :
Si lors de l'execution de la macro du fichier A le fichier B est déjà ouvert par quelqu'un alors une Msgbox affiche :
"Le fichier B est utilisé par XXXXX contactez le pour qu'il le ferme".
Je sais que Userstatus permet de savoir quelle personne utilise un fichier cependant cette fonction ne marche pas si on est en lecture seule.
Voilà ce que j'ai coder mais qui ne focntionne pas :
Code:
Workbooks.Open Filename:=Sheets("Remplir").Range("U34")
While ActiveWorkbook.ReadOnly = True
If MsgBox("Le fichier est en cours d'utilisation" & Chr(10) & "Contactez" & ActiveWorkbook.UserStatus & "afin qu'elle sorte du fichier" & Chr(10) & "Si vous n'arrivez pas à les contacter cliquez sur Abandonner, un mail sera envoyé à la personne en charge du process afin que le fichier soit mis à jour manuellement", vbRetryCancel, "Fichier en lecture seul") = vbCancel Then
ActiveWorkbook.Close
Sheets("Afficher-Valider").Select
envoimaillectseul
Range("C1").Select
Sauvegarde
Exit Sub
End If
ActiveWorkbook.Close
Workbooks.Open Filename:=Sheets("Remplir").Range("U34")
Wend
J'ai beaucoup cherché et je retombe toujours sur la fonction Userstatus qui ne fonctionne que si l'on est sur le fichier en mode écriture.
Si quelqu'un à une idée ou une astuce je suis preneur.
Merci d'avance
Dernière édition: