j’utilise un fichier Excel « formulaire test » dans lequel je rentre des données
j’ai une macro qui me permet entre autres d’enregistrer ces données dans un autre fichier Excel « enregistrement test » sur le serveur de mon entreprise et donc disponible à d’autres utilisateurs
lorsque le fichier sur le serveur est ouvert par un autre utilisateur, je ne peux pas lancer ma macro correctement
ma question: comment faire pour savoir si le fichier sur le serveur « enregistrement test » est déjà ouvert et si c’est le cas est-il possible de le fermer pour pouvoir exécuter ma macro
merci pour vos réponses
c’est en effet ce que je recherche
par contre je ne suis pas un spécialiste en VBA, faut-il que je fasse un copier coller de l’ensemble dans ma macro ?
à te relire
super ça fonctionne
j’ai une autre question, est-ce qu’il est possible de fermer le fichier si celui-ci est ouvert ce qui permettrait de lancer la macro
Re
Regarde cette macro (modifiée)
Remplace par tes liens MonClasseur et NomClasseur)
Sub ExempleTestOuvertureClasseur()
'par: https://excel-malin.com
Dim Verification As Boolean
Dim MonClasseur As String
Dim NomClasseur As String
MonClasseur = "C:\Users\Michel\Desktop\Excel Forum\Calcule_en_Vba_v001.xlsm"
NomClasseur = "Calcule_en_Vba_v001.xlsm"
'd'abord le test si le fichier existe
If Len(Dir(MonClasseur)) = 0 Then 's'il n'existe pas, montrer un avertissement et quitter la macro
MsgBox "ERREUR: Le Classeur: [" & MonClasseur & "] n'existe pas..."
Exit Sub
Else
End If
'si le Classeur existe, vérifier s'il est déjà ouvert
Verification = EstClasseurOuvert(MonClasseur)
If Verification = True Then
If MsgBox("Le Classeur: [" & NomClasseur & "] est déjà ouvert..., Voulez-vous le fermer ?", vbYesNo, "Demande de confirmation") = vbYes Then
Workbooks(NomClasseur).Close False
End If
Else
MsgBox "Le Classeur: [" & NomClasseur & "] n'est pas ouvert..."
End If
End Sub