Avertissement fichier est verrouillé pour modification par
5 réponses
rmill...
Bonjour,
Si un fichier est déjÍ ouvert par un autre utilisateur et que je tente de l'ouvrir j'obtiens un message Í l'effet que le fichier est verrouillé pour modification par l'autre utilisateur. Et c'est parfait.
Mais lorsque j'ouvre le fichier par code VBA je n'obtiens pas ce message. Je souhaiterais bien que oui. J'ai placé le code ci-dessous ... très simple.
Selon vous y a t'il moyen de l'obtenir mais en l'ouvrant par VBA? Merci Í l'avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Le 23/11/20 Í 22:08, a écrit :
Bonjour, Si un fichier est déjÍ ouvert par un autre utilisateur et que je tente de l'ouvrir j'obtiens un message Í l'effet que le fichier est verrouillé pour modification par l'autre utilisateur. Et c'est parfait. Mais lorsque j'ouvre le fichier par code VBA je n'obtiens pas ce message. Je souhaiterais bien que oui. J'ai placé le code ci-dessous ... très simple. Selon vous y a t'il moyen de l'obtenir mais en l'ouvrant par VBA? Merci Í l'avance. '******************************************************** Workbooks.Open ThisWorkbook.Sheets(Feuil1.Name).Range("CN_ValidXLCaseModelPath").Value, Password:þuil1.Range("CN_ValidXLCasePwd").Value
Bonjour, Regarde ce fichier https://www.cjoint.com/c/JKymvxiNEUj Tu peux définir directement dans le code, le message que tu veux afficher lorsque tu ouvres un fichier déjÍ ouvert. À tester! MichD
Le 23/11/20 Í 22:08, rmill...@gmail.com a écrit :
Bonjour,
Si un fichier est déjÍ ouvert par un autre utilisateur et que je tente de l'ouvrir j'obtiens un message Í l'effet que le fichier est verrouillé pour modification par l'autre utilisateur. Et c'est parfait.
Mais lorsque j'ouvre le fichier par code VBA je n'obtiens pas ce message. Je souhaiterais bien que oui. J'ai placé le code ci-dessous ... très simple.
Selon vous y a t'il moyen de l'obtenir mais en l'ouvrant par VBA? Merci Í l'avance.
Bonjour, Si un fichier est déjÍ ouvert par un autre utilisateur et que je tente de l'ouvrir j'obtiens un message Í l'effet que le fichier est verrouillé pour modification par l'autre utilisateur. Et c'est parfait. Mais lorsque j'ouvre le fichier par code VBA je n'obtiens pas ce message. Je souhaiterais bien que oui. J'ai placé le code ci-dessous ... très simple. Selon vous y a t'il moyen de l'obtenir mais en l'ouvrant par VBA? Merci Í l'avance. '******************************************************** Workbooks.Open ThisWorkbook.Sheets(Feuil1.Name).Range("CN_ValidXLCaseModelPath").Value, Password:þuil1.Range("CN_ValidXLCasePwd").Value
Bonjour, Regarde ce fichier https://www.cjoint.com/c/JKymvxiNEUj Tu peux définir directement dans le code, le message que tu veux afficher lorsque tu ouvres un fichier déjÍ ouvert. À tester! MichD
MichD
Le 24/11/20 Í 07:24, MichD a écrit :
Le 23/11/20 Í 22:08, a écrit :
Bonjour, Si un fichier est déjÍ ouvert par un autre utilisateur et que je tente de l'ouvrir j'obtiens un message Í l'effet que le fichier est verrouillé pour modification par l'autre utilisateur. Et c'est parfait. Mais lorsque j'ouvre le fichier par code VBA je n'obtiens pas ce message. Je souhaiterais bien que oui. J'ai placé le code ci-dessous ... très simple. Selon vous y a t'il moyen de l'obtenir mais en l'ouvrant par VBA? Merci Í l'avance. '******************************************************** Workbooks.Open ThisWorkbook.Sheets(Feuil1.Name).Range("CN_ValidXLCaseModelPath").Value, Password:þuil1.Range("CN_ValidXLCasePwd").Value
Bonjour, Regarde ce fichier https://www.cjoint.com/c/JKymvxiNEUj Tu peux définir directement dans le code, le message que tu veux afficher lorsque tu ouvres un fichier déjÍ ouvert. À tester! MichD
Cette version est probablement meilleure! Un bout de code dans le module standard et dans le Thisworkbook ttps://www.cjoint.com/c/JKynucZ63vj MichD
Le 24/11/20 Í 07:24, MichD a écrit :
Le 23/11/20 Í 22:08, rmill...@gmail.com a écrit :
Bonjour,
Si un fichier est déjÍ ouvert par un autre utilisateur et que je tente
de l'ouvrir j'obtiens un message Í l'effet que le fichier est
verrouillé pour modification par l'autre utilisateur. Et c'est parfait.
Mais lorsque j'ouvre le fichier par code VBA je n'obtiens pas ce
message. Je souhaiterais bien que oui. J'ai placé le code ci-dessous
... très simple.
Selon vous y a t'il moyen de l'obtenir mais en l'ouvrant par VBA?
Merci Í l'avance.
Bonjour, Si un fichier est déjÍ ouvert par un autre utilisateur et que je tente de l'ouvrir j'obtiens un message Í l'effet que le fichier est verrouillé pour modification par l'autre utilisateur. Et c'est parfait. Mais lorsque j'ouvre le fichier par code VBA je n'obtiens pas ce message. Je souhaiterais bien que oui. J'ai placé le code ci-dessous ... très simple. Selon vous y a t'il moyen de l'obtenir mais en l'ouvrant par VBA? Merci Í l'avance. '******************************************************** Workbooks.Open ThisWorkbook.Sheets(Feuil1.Name).Range("CN_ValidXLCaseModelPath").Value, Password:þuil1.Range("CN_ValidXLCasePwd").Value
Bonjour, Regarde ce fichier https://www.cjoint.com/c/JKymvxiNEUj Tu peux définir directement dans le code, le message que tu veux afficher lorsque tu ouvres un fichier déjÍ ouvert. À tester! MichD
Cette version est probablement meilleure! Un bout de code dans le module standard et dans le Thisworkbook ttps://www.cjoint.com/c/JKynucZ63vj MichD
MichD
Le 24/11/20 Í 08:22, MichD a écrit :
Le 24/11/20 Í 07:24, MichD a écrit :
Le 23/11/20 Í 22:08, a écrit :
Bonjour, Si un fichier est déjÍ ouvert par un autre utilisateur et que je tente de l'ouvrir j'obtiens un message Í l'effet que le fichier est verrouillé pour modification par l'autre utilisateur. Et c'est parfait. Mais lorsque j'ouvre le fichier par code VBA je n'obtiens pas ce message. Je souhaiterais bien que oui. J'ai placé le code ci-dessous ... très simple. Selon vous y a t'il moyen de l'obtenir mais en l'ouvrant par VBA? Merci Í l'avance. '******************************************************** Workbooks.Open ThisWorkbook.Sheets(Feuil1.Name).Range("CN_ValidXLCaseModelPath").Value, Password:þuil1.Range("CN_ValidXLCasePwd").Value
Bonjour, Regarde ce fichier https://www.cjoint.com/c/JKymvxiNEUj Tu peux définir directement dans le code, le message que tu veux afficher lorsque tu ouvres un fichier déjÍ ouvert. À tester! MichD
Cette version est probablement meilleure! Un bout de code dans le module standard et dans le Thisworkbook https://www.cjoint.com/c/JKynucZ63vj MichD
La procédure dans le ThisWorkbook de ce fichier https://www.cjoint.com/c/JKynucZ63vj devrait plutÍ´t être celle-ci : '-------------------------- Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If IsFileOpen(ThisWorkbook.Name) Then MsgBox "Ce fichier est en lecture seule", vbCritical + vbOKOnly, "Attention" Else If ThisWorkbook.ReadOnly Then ThisWorkbook.ChangeFileAccess xlReadWrite End If End If End Sub '-------------------------- MichD
Le 24/11/20 Í 08:22, MichD a écrit :
Le 24/11/20 Í 07:24, MichD a écrit :
Le 23/11/20 Í 22:08, rmill...@gmail.com a écrit :
Bonjour,
Si un fichier est déjÍ ouvert par un autre utilisateur et que je
tente de l'ouvrir j'obtiens un message Í l'effet que le fichier est
verrouillé pour modification par l'autre utilisateur. Et c'est parfait.
Mais lorsque j'ouvre le fichier par code VBA je n'obtiens pas ce
message. Je souhaiterais bien que oui. J'ai placé le code ci-dessous
... très simple.
Selon vous y a t'il moyen de l'obtenir mais en l'ouvrant par VBA?
Merci Í l'avance.
Regarde ce fichier https://www.cjoint.com/c/JKymvxiNEUj
Tu peux définir directement dans le code, le message que tu veux
afficher lorsque tu ouvres un fichier déjÍ ouvert.
À tester!
MichD
Cette version est probablement meilleure!
Un bout de code dans le module standard et dans le Thisworkbook
https://www.cjoint.com/c/JKynucZ63vj
MichD
La procédure dans le ThisWorkbook de ce fichier
https://www.cjoint.com/c/JKynucZ63vj devrait plutÍ´t être celle-ci :
'--------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If IsFileOpen(ThisWorkbook.Name) Then
MsgBox "Ce fichier est en lecture seule", vbCritical + vbOKOnly,
"Attention"
Else
If ThisWorkbook.ReadOnly Then
ThisWorkbook.ChangeFileAccess xlReadWrite
End If
End If
End Sub
'--------------------------
Bonjour, Si un fichier est déjÍ ouvert par un autre utilisateur et que je tente de l'ouvrir j'obtiens un message Í l'effet que le fichier est verrouillé pour modification par l'autre utilisateur. Et c'est parfait. Mais lorsque j'ouvre le fichier par code VBA je n'obtiens pas ce message. Je souhaiterais bien que oui. J'ai placé le code ci-dessous ... très simple. Selon vous y a t'il moyen de l'obtenir mais en l'ouvrant par VBA? Merci Í l'avance. '******************************************************** Workbooks.Open ThisWorkbook.Sheets(Feuil1.Name).Range("CN_ValidXLCaseModelPath").Value, Password:þuil1.Range("CN_ValidXLCasePwd").Value
Bonjour, Regarde ce fichier https://www.cjoint.com/c/JKymvxiNEUj Tu peux définir directement dans le code, le message que tu veux afficher lorsque tu ouvres un fichier déjÍ ouvert. À tester! MichD
Cette version est probablement meilleure! Un bout de code dans le module standard et dans le Thisworkbook https://www.cjoint.com/c/JKynucZ63vj MichD
La procédure dans le ThisWorkbook de ce fichier https://www.cjoint.com/c/JKynucZ63vj devrait plutÍ´t être celle-ci : '-------------------------- Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If IsFileOpen(ThisWorkbook.Name) Then MsgBox "Ce fichier est en lecture seule", vbCritical + vbOKOnly, "Attention" Else If ThisWorkbook.ReadOnly Then ThisWorkbook.ChangeFileAccess xlReadWrite End If End If End Sub '-------------------------- MichD
MichD
Avant ta ligne de code qui ouvre le fichier, tu vérifies si le fichier est ouvert ailleurs, si oui, tu affiches le message que tu désires et préviens l'usager. DéjÍ , tu sais que le fichier sera en lecture seule s'il existe déjÍ une copie déjÍ ouverte. La difficulté que présente ce type de fichier provient au moment d'enregistrer les modifications. Dans l'événement approprié dans le ThisWorkbook (before save), tu testes Í nouveau si le fichier est toujours ouvert dans une autre instance d'Excel, par la négative tu modifies l'état du fichier en mode lecture seule pour le mode "ReadWrite", suivi de la sauvegarde. La fenêtre de "Notification" se produit avant l'ouverture du classeur. En vba, tu ouvres directement le classeur avant que la fenêtre de notification ait eu la chance de se manifester. Comme je n'ai jamais travaillé en réseau, je n'ai jamais eu Í trouver le nom de l'usager qui avait déjÍ ouvert un fichier particulier dans une autre instance d'Excel. Bonne continuation! MichD
Avant ta ligne de code qui ouvre le fichier, tu vérifies si le fichier
est ouvert ailleurs, si oui, tu affiches le message que tu désires et
préviens l'usager. DéjÍ , tu sais que le fichier sera en lecture seule
s'il existe déjÍ une copie déjÍ ouverte.
La difficulté que présente ce type de fichier provient au moment
d'enregistrer les modifications.
Dans l'événement approprié dans le ThisWorkbook (before save), tu testes
Í nouveau si le fichier est toujours ouvert dans une autre instance
d'Excel, par la négative tu modifies l'état du fichier en mode lecture
seule pour le mode "ReadWrite", suivi de la sauvegarde.
La fenêtre de "Notification" se produit avant l'ouverture du classeur.
En vba, tu ouvres directement le classeur avant que la fenêtre de
notification ait eu la chance de se manifester.
Comme je n'ai jamais travaillé en réseau, je n'ai jamais eu Í trouver le
nom de l'usager qui avait déjÍ ouvert un fichier particulier dans une
autre instance d'Excel.
Avant ta ligne de code qui ouvre le fichier, tu vérifies si le fichier est ouvert ailleurs, si oui, tu affiches le message que tu désires et préviens l'usager. DéjÍ , tu sais que le fichier sera en lecture seule s'il existe déjÍ une copie déjÍ ouverte. La difficulté que présente ce type de fichier provient au moment d'enregistrer les modifications. Dans l'événement approprié dans le ThisWorkbook (before save), tu testes Í nouveau si le fichier est toujours ouvert dans une autre instance d'Excel, par la négative tu modifies l'état du fichier en mode lecture seule pour le mode "ReadWrite", suivi de la sauvegarde. La fenêtre de "Notification" se produit avant l'ouverture du classeur. En vba, tu ouvres directement le classeur avant que la fenêtre de notification ait eu la chance de se manifester. Comme je n'ai jamais travaillé en réseau, je n'ai jamais eu Í trouver le nom de l'usager qui avait déjÍ ouvert un fichier particulier dans une autre instance d'Excel. Bonne continuation! MichD