[Résolu] [Calc]Lister fichiers non ouverts d'un répertoire
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 avr. 2019 07:52
[Résolu] [Calc]Lister fichiers non ouverts d'un répertoire
Bonjour à tous et à toutes,
Je suis en train de développer un petit outil sous Calc.
Cet outil sera sous la forme d'un formulaire destiné à remplir automatiquement plusieurs fichiers communs.
Ce "programme" sera placé sur un réseau et pourra être utilisé par plusieurs utilisateurs simultanément.
Pour détourner le problème j'ai pensé faire plusieurs copies du programme :
MonOutil.Base1.ods
MonOutil.Base2.ods
MonOutil.Base3.ods
...
MonOutil.Base10.ods
Et créer un "lanceur" de l'outil.
Je cherche donc un petit programme qui serait juste destiné à proposer à l'utilisateur de sélectionner une base "Libre".
Je vois ça sous la forme d'une petite boîte de dialogue dans laquelle il y aurait une liste de choix proposant les différents fichiers qui ne sont pas en cours d'utilisation.
Quelqu'un saurait-il faire ça ????
Je suis en train de développer un petit outil sous Calc.
Cet outil sera sous la forme d'un formulaire destiné à remplir automatiquement plusieurs fichiers communs.
Ce "programme" sera placé sur un réseau et pourra être utilisé par plusieurs utilisateurs simultanément.
Pour détourner le problème j'ai pensé faire plusieurs copies du programme :
MonOutil.Base1.ods
MonOutil.Base2.ods
MonOutil.Base3.ods
...
MonOutil.Base10.ods
Et créer un "lanceur" de l'outil.
Je cherche donc un petit programme qui serait juste destiné à proposer à l'utilisateur de sélectionner une base "Libre".
Je vois ça sous la forme d'une petite boîte de dialogue dans laquelle il y aurait une liste de choix proposant les différents fichiers qui ne sont pas en cours d'utilisation.
Quelqu'un saurait-il faire ça ????
Dernière modification par FranckGa30 le 16 avr. 2019 19:04, modifié 3 fois.
LibreOffice 4.3.7.2 sous Windows 7 professionnel (Service Pack 1) ... Obligation de version
-
- IdOOle de la suite
- Messages : 25181
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Un seul fichier avec plusieurs utilisateurs
Salut,
Calc est un tableur et n'est pas conçu pour de l'accès multi-utilisateurs.
Rien ne t'empêchera ensuite de récupérer les informations dans un classeur ensuite.
Calc est un tableur et n'est pas conçu pour de l'accès multi-utilisateurs.
Tout ceci est du ressort du module Base.FranckGa30 a écrit :Cet outil sera sous la forme d'un formulaire destiné à remplir automatiquement plusieurs fichiers communs.
Rien ne t'empêchera ensuite de récupérer les informations dans un classeur ensuite.
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 avr. 2019 07:52
Re: [Calc] Un seul fichier avec plusieurs utilisateurs
Bonjour Dude et merci pour ta réponse.
Mon souci est que je ne connais pas du tout Base. Je ne l'ai même jamais ouvert
C'est pour celà que je cherche à contourner le problème.
J'ajoute que l'outil que je développe est destiné à des utilisateurs plutôt réfractaire à l'outil informatique.
Ils ont l'habitude de travaille avec Calc ou Writer ... mais leur compétences s'arrêtent là, tout comme la mienne
Mon souci est que je ne connais pas du tout Base. Je ne l'ai même jamais ouvert
C'est pour celà que je cherche à contourner le problème.
J'ajoute que l'outil que je développe est destiné à des utilisateurs plutôt réfractaire à l'outil informatique.
Ils ont l'habitude de travaille avec Calc ou Writer ... mais leur compétences s'arrêtent là, tout comme la mienne
LibreOffice 4.3.7.2 sous Windows 7 professionnel (Service Pack 1) ... Obligation de version
-
- IdOOle de la suite
- Messages : 25181
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Un seul fichier avec plusieurs utilisateurs
Un formulaire sous Base n'est rien d'autre qu'un document Writer.FranckGa30 a écrit :Ils ont l'habitude de travaille avec Calc ou Writer
Comme toujours, un peu de recherche dans ce forum où pratiquement toutes les questions ont déjà des (débuts de) réponses :FranckGa30 a écrit : différents fichiers qui ne sont pas en cours d'utilisation.
https://forum.openoffice.org/fr/forum/v ... ier+ouvert
Mais franchement, bonjour le casse-tête ensuite pour consolider de multiples classeurs.
Bon courage
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 avr. 2019 07:52
Re: [Calc] Un seul fichier avec plusieurs utilisateurs
Je ne comprends pas trop ta réponse
Je suis désolé mais je commence juste à utiliser Calc et je n'ai que quelques vagues notions de programmation.
Si je comprends bien la commande ".isReadonly()" permet de charger le document en lecture seule.
Or ce que je voudrai faire c'est de proposer à l'utilisateur de choisir uniquement parmi les fichiers disponibles ... sans avoir à lancer chaque "Base".
Je suis désolé mais je commence juste à utiliser Calc et je n'ai que quelques vagues notions de programmation.
Si je comprends bien la commande ".isReadonly()" permet de charger le document en lecture seule.
Or ce que je voudrai faire c'est de proposer à l'utilisateur de choisir uniquement parmi les fichiers disponibles ... sans avoir à lancer chaque "Base".
LibreOffice 4.3.7.2 sous Windows 7 professionnel (Service Pack 1) ... Obligation de version
-
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Calc] Un seul fichier avec plusieurs utilisateurs
Bonjour,
Calc permet nativement de travailler à plusieurs sur un même fichier : https://help.libreoffice.org/index.php? ... oration/fr.
Si cela ne rencontre pas ton problème, pourrais-tu le préciser ?
Cordialement.
Calc permet nativement de travailler à plusieurs sur un même fichier : https://help.libreoffice.org/index.php? ... oration/fr.
Si cela ne rencontre pas ton problème, pourrais-tu le préciser ?
Cordialement.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 avr. 2019 07:52
Re: [Calc] Un seul fichier avec plusieurs utilisateurs
Bonjour Hubert et avant tout, un grand merci pour ta réponse.
Malheureusement la solution que tu me proposes n'est pas envisageable dans mon cas.
En effet, les utilisateurs ont des tâches différentes.
Je m'explique
Un utilisateur pourra par exemple faire une simple saisie de données alors qu'en même temps un autre utilisateur utilisera l'outil dans un but d'édition d'un rapport de calcul.
Il ne m'est pas possible d'envisager que les 2 utilisateurs travaillent sur le même fichier car leurs tâches ne sont pas "compatibles".
Ce que je cherche à faire est beaucoup plus simple .... car si je veux que l'outil propose plusieurs fonctions (afin de pouvoir "regrouper" certaines tâches dans un même fichier), je peux tout à fait envisager plusieurs fichiers identiques indépendants
Ainsi, pour faire simple voilà ce que je souhaite faire :
Dans un dossier j'aurai mes outils (ie : exactement le même programme mais avec des noms différents)
Toto.Base1.ods, Toto.Base2.ods, Toto.Base3.ods, ... etc.
Pour que l'utilisateur n'ait pas à lancer chaque base les unes à la suite des autres :
> Toto.Base1.ods et s'apercevoir que le fichier est déjà utilisé par Paul,
> Toto.Base2.ods et s'apercevoir qu'il est déjà utilisé par Jacques
> ... etc.
Je voudrais créer un fichier "Go.ods"
Ce fichier "Go" afficherait un boite de dialogue "Sélectionnez une base utilisateur dans la liste ci-dessous".
Et dans la liste proposée ne figurerait que les fichiers qui ne sont pas en cours d'utilisation : Toto.Base5.ods, Toto.Base6.ods ...
Mais pas Toto.Base1.ods ni Toto.Base2.ods qui sont en cours d'utilisation par Paul et Jacques.
Voilà la mission .... si tu l'acceptes
Malheureusement la solution que tu me proposes n'est pas envisageable dans mon cas.
En effet, les utilisateurs ont des tâches différentes.
Je m'explique
Un utilisateur pourra par exemple faire une simple saisie de données alors qu'en même temps un autre utilisateur utilisera l'outil dans un but d'édition d'un rapport de calcul.
Il ne m'est pas possible d'envisager que les 2 utilisateurs travaillent sur le même fichier car leurs tâches ne sont pas "compatibles".
Ce que je cherche à faire est beaucoup plus simple .... car si je veux que l'outil propose plusieurs fonctions (afin de pouvoir "regrouper" certaines tâches dans un même fichier), je peux tout à fait envisager plusieurs fichiers identiques indépendants
Ainsi, pour faire simple voilà ce que je souhaite faire :
Dans un dossier j'aurai mes outils (ie : exactement le même programme mais avec des noms différents)
Toto.Base1.ods, Toto.Base2.ods, Toto.Base3.ods, ... etc.
Pour que l'utilisateur n'ait pas à lancer chaque base les unes à la suite des autres :
> Toto.Base1.ods et s'apercevoir que le fichier est déjà utilisé par Paul,
> Toto.Base2.ods et s'apercevoir qu'il est déjà utilisé par Jacques
> ... etc.
Je voudrais créer un fichier "Go.ods"
Ce fichier "Go" afficherait un boite de dialogue "Sélectionnez une base utilisateur dans la liste ci-dessous".
Et dans la liste proposée ne figurerait que les fichiers qui ne sont pas en cours d'utilisation : Toto.Base5.ods, Toto.Base6.ods ...
Mais pas Toto.Base1.ods ni Toto.Base2.ods qui sont en cours d'utilisation par Paul et Jacques.
Voilà la mission .... si tu l'acceptes
LibreOffice 4.3.7.2 sous Windows 7 professionnel (Service Pack 1) ... Obligation de version
-
- SuppOOrter
- Messages : 1273
- Inscription : 10 nov. 2006 15:04
- Localisation : F-Oise
Re: [Calc] Un seul fichier avec plusieurs utilisateurs
Bonsoir,
Et pourquoi pas assigner un fichier XXX.Base.ods à un utilisateur ?
Chaque utilisateur ayant le sien, pas risque qu'il utilise celui d'un autre déjà en cours d'usage, non ?
Trop simple ou les utilisateurs ne sont pas assez disciplinés pour que cela aille ?
Cordialement.
Et pourquoi pas assigner un fichier XXX.Base.ods à un utilisateur ?
Chaque utilisateur ayant le sien, pas risque qu'il utilise celui d'un autre déjà en cours d'usage, non ?
Trop simple ou les utilisateurs ne sont pas assez disciplinés pour que cela aille ?
Cordialement.
Ekel
KUbuntu Jammy Jellyfish (22.04) : LibreOffice 24.2.0.3 Officielle
AMD Ryzen 5 5600G
AMD Radeon RX 6650 XT
22" + 22"
16 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
KUbuntu Jammy Jellyfish (22.04) : LibreOffice 24.2.0.3 Officielle
AMD Ryzen 5 5600G
AMD Radeon RX 6650 XT
22" + 22"
16 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 avr. 2019 07:52
Re: [Calc] Un seul fichier avec plusieurs utilisateurs
Merci OOo - Ekel,
ça aurait pu être une bonne solution, mais les utilisateurs sont très nombreux alors qu'ils n'utilisent l'outil que rarement (1 à 2 fois par mois)
Aussi, créer 100 copies de mon fichier alors que l'outil ne devrait pas compter plus de 10 utilisateurs simultanés me paraît un peu abusif
Ceci dit je retiens ta proposition pour une paire d'utilisateurs qui eux seront amenés à utiliser l'outil quotidiennement
ça aurait pu être une bonne solution, mais les utilisateurs sont très nombreux alors qu'ils n'utilisent l'outil que rarement (1 à 2 fois par mois)
Aussi, créer 100 copies de mon fichier alors que l'outil ne devrait pas compter plus de 10 utilisateurs simultanés me paraît un peu abusif
Ceci dit je retiens ta proposition pour une paire d'utilisateurs qui eux seront amenés à utiliser l'outil quotidiennement
LibreOffice 4.3.7.2 sous Windows 7 professionnel (Service Pack 1) ... Obligation de version
-
- ManitOOu
- Messages : 2744
- Inscription : 16 avr. 2010 13:31
Re: [Calc] Un seul fichier avec plusieurs utilisateurs
Bonjour,
J'ai du mal à saisir le rapport qu'il y a entre le titre de ton sujet : Un seul fichier avec plusieurs utilisateurs
et ta requête :
Si tu souhaites que ton sujet soit utile à d'autres personne à la recherche de solution sur cette problématique, je te conseille vivement de modifier son titre (dans le premier message)
Lister les fichiers non ouverts d'un répertoire, par exemple. Merci !
Pour ce qui concerne ton soucis, logiquement, lorsqu'un fichier est ouvert, il se crée automatiquement un fichier .~lock du même nom dans le répertoire concerné.
L'idée est de créer une liste des fichiers .ods contenus dans ton répertoire, et une autre liste des fichier dont le préfixe est .~lock.
Ensuite, on supprime de la liste des fichiers .ods, tous les fichiers du même nom que ceux de la liste contenant le préfixe .~lock
Il faudra mettre dans le code le bon chemin vers ton répertoire : en remplaçant "/home/oootremer971/Documents/Forum/TestDir/"
Avant d'aller plus loin, à tester pour voir si le principe convient à la situation.
et le fichier pour tester :
A+
J'ai du mal à saisir le rapport qu'il y a entre le titre de ton sujet : Un seul fichier avec plusieurs utilisateurs
et ta requête :
FranckGa30 a écrit :une liste de choix proposant les différents fichiers qui ne sont pas en cours d'utilisation.
Si tu souhaites que ton sujet soit utile à d'autres personne à la recherche de solution sur cette problématique, je te conseille vivement de modifier son titre (dans le premier message)
Lister les fichiers non ouverts d'un répertoire, par exemple. Merci !
Pour ce qui concerne ton soucis, logiquement, lorsqu'un fichier est ouvert, il se crée automatiquement un fichier .~lock du même nom dans le répertoire concerné.
L'idée est de créer une liste des fichiers .ods contenus dans ton répertoire, et une autre liste des fichier dont le préfixe est .~lock.
Ensuite, on supprime de la liste des fichiers .ods, tous les fichiers du même nom que ceux de la liste contenant le préfixe .~lock
Il faudra mettre dans le code le bon chemin vers ton répertoire : en remplaçant "/home/oootremer971/Documents/Forum/TestDir/"
Avant d'aller plus loin, à tester pour voir si le principe convient à la situation.
Code : Tout sélectionner
REM ***** BASIC *****
REM https://forum.openoffice.org/fr/forum/viewtopic.php?f=8&t=60291
Option Explicit
Sub ListerLesFichiersDunRepertoireBis
'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
' mettre ici le chemein vers le bon répertoire '"
Const repertoire = "/home/oootremer971/Documents/Forum/TestDir/" '"
'""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Dim fichier As String, l1 As String, l2 As String, elem As String
Dim j As Long
Dim cl2 As Variant
l1 = "" : l2 = ""
'on demande à la fonction Dir de rechercher tous les fichiers .ods du répertoire
fichier = Dir(repertoire & "*.ods", 0)
Do While Len(fichier) > 0
'on écrit le nom trouvé dans une liste
l1 = l1 & fichier & chr(10)
'on passe au suivant
fichier = Dir
loop
'là on fait la même chose avec les fichiers .~lock dans une autre liste
fichier = Dir(repertoire & "*.~lock.*", 0)
Do While Len(fichier) > 0
'ici en plus de créer une liste, on élimine le prefixe .~lock et le suffixe #
l2 = l2 & mid(fichier,8,Len(fichier)-8) & chr(10)
fichier = Dir
Loop
'on efface de la liste1 les éléments trouvés en liste2
cl2 = split(l2,chr(10))
for j = Ubound(cl2) to 0 step -1
if cl2(j) <> "" Then
elem = cl2(j) & chr(10)
if InStr(1, l1, elem, 1) Then
mid(l1,InStr(1, l1, elem, 1),len(elem),"")
End if
end if
next
mid(l1,len(l1),1,"")
msgBox l1
end sub
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
AOO
LibreOffice
Debian 10 et 11
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 avr. 2019 07:52
Re: [Calc] Lister les fichiers non ouverts d'un répertoire
Bonjour OOotremer971 ... et merci pour ta réponse ... C'est exactement ce que j'attendais
J'ai changé le titre du message pour que le sujet soit plus parlant
Je vais essayer de finir tout seul pour ne pas trop accaparer ton cerveau et en laisser un peu pour les autres
Il faut juste que j'affecte ta liste dans une zone de liste ... je garde espoir
Encore une fois MERCI beaucoup pour ton aide ... et peut-être à bientôt car je ne suis pas sorti du sable avec mon projet
J'ai changé le titre du message pour que le sujet soit plus parlant
Je vais essayer de finir tout seul pour ne pas trop accaparer ton cerveau et en laisser un peu pour les autres
Il faut juste que j'affecte ta liste dans une zone de liste ... je garde espoir
Encore une fois MERCI beaucoup pour ton aide ... et peut-être à bientôt car je ne suis pas sorti du sable avec mon projet
LibreOffice 4.3.7.2 sous Windows 7 professionnel (Service Pack 1) ... Obligation de version
-
- ManitOOu
- Messages : 2744
- Inscription : 16 avr. 2010 13:31
Re: [Calc] Lister les fichiers non ouverts d'un répertoire
Tu devrais trouver des exemple sur ce forum, si non ouvre un nouveau sujet en y joignant un fichier contenant l'ébauche de ton formulaire et le code pour générer la liste.FranckGa30 a écrit :Il faut juste que j'affecte ta liste dans une zone de liste ... je garde espoir
A+
Ajout : on peut faire plus simple en créant d'abord la liste des fichiers .~lock. De cette façon, lorsque l'on crée la liste des fichiers .ods il plus aisé de vérifié à chaque tour de boucle que le fichier .ods trouvé existe ou pas dans liste des .~lock. Si il existe on ne l'ajoute pas à la liste si non on l'ajoute :
Code : Tout sélectionner
|
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
AOO
LibreOffice
Debian 10 et 11
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 avr. 2019 07:52
Re: [Résolu] [Calc]Lister fichiers non ouverts d'un répertoi
C'est une nouvelle fois PARFAIT !!!!
Merci pour ton aide très précieuse
@+
Merci pour ton aide très précieuse
@+
LibreOffice 4.3.7.2 sous Windows 7 professionnel (Service Pack 1) ... Obligation de version