Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Excel 2003 : VBA fichier vérouillé

2 réponses
Avatar
La Norme Française c'est pas le FN
Bonjour,

j'utilise une methode API pour acceder à un fichier non partagé. J'ai
pas changé les paramètres, juste le nom et le chemin du fichier :
http://www.developpez.net/forums/d1074952/logiciels/microsoft-office/general-vba/lecture-binaire-d-fichier-offset-precis/#post5958831

Je peux lire le contenu, mais mon problème est que le fichier ouvert
est vérouillé par excel et vérouillé pour les autres alors que je ne
souhaite l'ouvrir qu'en lecture en mode non exclusif.

y a t il un bout de code pour éviter le vérouillage ?

Merci de vos lumières.

2 réponses

Avatar
MichD
Bonjour,

Si le fichier à ouvrir est un fichier texte,

Essaie ceci :

'-------------------------------------------------------------------
Sub Test()
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim FSO As Object, F As Object, MyString As String
Dim Chemin As String, Fichier As String

Chemin = "C:UsersTon ProfilDocuments"
Fichier = "Nom du fichier.txt"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set F = FSO.OpenTextFile(Chemin & Fichier, ForReading, True)

'Suppose que tu veuilles lire les 100 premières lignes du fichier texte
While Not Len(MyString) > 100
MyString = MyString & F.readline & vbCrLf
Wend
F.Close
Set F = Nothing: Set FSO = Nothing
End Sub
'-------------------------------------------------------------------

Pour plus d'informations, consulte ce site :
http://bellamyjc.org/fr/vbsobj/vsmthopentextfile.html

Si tu cherches autre chose, dis-nous le type de fichier que tu veux ouvrir
et décris-nous ton environnement et ce qui se passe lorsque tu tentes de
l'ouvrir. En utilisant la souris et l'explorateur Windows, peux-tu ouvrir le
fichier? Cela peut te donner une idée à savoir ce ce que tu tentes est
réalisable... et dans un second temps en vba...!
Avatar
La Norme Française c'est pas le FN
On Tue, 19 May 2015 10:31:31 -0400, "MichD"
wrote:

Bonjour,

Si le fichier à ouvrir est un fichier texte,

Essaie ceci :

'-------------------------------------------------------------------
Sub Test()
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim FSO As Object, F As Object, MyString As String
Dim Chemin As String, Fichier As String

Chemin = "C:UsersTon ProfilDocuments"
Fichier = "Nom du fichier.txt"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set F = FSO.OpenTextFile(Chemin & Fichier, ForReading, True)

'Suppose que tu veuilles lire les 100 premières lignes du fichier texte
While Not Len(MyString) > 100
MyString = MyString & F.readline & vbCrLf
Wend
F.Close
Set F = Nothing: Set FSO = Nothing
End Sub
'-------------------------------------------------------------------

Pour plus d'informations, consulte ce site :
http://bellamyjc.org/fr/vbsobj/vsmthopentextfile.html



Non, justement cette fois c'est pas un fichier texte. C'est un fichier
de donnée binaire comme un executable ou un genre de Dbase si tu
prefère mais dont la structure est perso.

Si tu cherches autre chose, dis-nous le type de fichier que tu veux ouvrir
et décris-nous ton environnement et ce qui se passe lorsque tu tentes de
l'ouvrir. En utilisant la souris et l'explorateur Windows, peux-tu ouvrir le
fichier? Cela peut te donner une idée à savoir ce ce que tu tentes est
réalisable... et dans un second temps en vba...!



Je teste demain, mais en attendant ce que je peux te dire, c'est quand
j'utilise les API windows en vba pendant un débuggage, le fichier est
vérouillé dans l'explorateur de fichiers windows. Le traitement est
long en temps normal, car le fichier est gros et je ne peut pas me
permettre de le laisser vérouiller.


J'avais déjà posté un message sur la faisabilité de creer un filtre
d'import sous excel, mais apparement ça dit rien à personne.
Message-ID: