Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Re : vba - ouvert en lecture seule ou en écriture ?
Après quelques recherches et questionnements sur le forum ci-joint un code qui permet de gérer l'ouverture en écriture d'un fichier en tenant compte de sa disponibilité:
Sub GestionOuvertureFichierEcriture()
Dim chemin As String, chemin1 As String, fich1 As String, testouv1 As String
On Error Resume Next
testouv1 = Workbooks(fich1).Sheets("Produits").Range("A6")
On Error GoTo 0
If testouv1 = "Code_Pr" Then 'test si fichier ouvert sur le poste
If Workbooks(fich1).ReadOnly Then 'et test si en lecture seule
Workbooks("Facturation.xls").Activate
Sheets("Présentation").Select
Range("A1").Select
MsgBox "BordLiv n'est pas disponible pour valider" & Chr(10) & "le statut de facturation des BL" & Chr(10) & _
"Fermer BordLiv et relancer le traitement" & Chr(10) & "des statuts de facturation dans Présentation"
Else
'traitement
Application.DisplayAlerts = False
Workbooks(fich1).Save
Application.DisplayAlerts = True
End If
Else'test si le fichier n'est pas ouvert sur un autre poste
Application.EnableEvents = False
Workbooks.Open chemin
Application.EnableEvents = True
If Workbooks(fich1).ReadOnly Then
Workbooks("Facturation.xls").Activate
Sheets("Présentation").Select
Range("A1").Select
MsgBox "BordLiv est ouvert sur un autre poste" & Chr(10) & "le statut de facturation des BL ne peut être validé" & Chr(10) & _
"Fermer BordLiv et relancer le traitement" & Chr(10) & "des statuts de facturation dans Présentation"
Else
'traitement
Application.DisplayAlerts = False
Application.EnableEvents = False
Workbooks(fich1).Close savechanges:=True
Application.EnableEvents = True
Application.DisplayAlerts = True
End If
End If
- 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