IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Gestion MultiUtilisateur sur une Base de donnee


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2012
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 39
    Par défaut Gestion MultiUtilisateur sur une Base de donnee
    Bonjour tout le monde,

    j'ai un fichier qui va lire/enregistrer des infos dnas un autre fichier excel

    et qui pour cela fait des appels vers ce fichier.

    Pour l'instant aucun probleme,car je suis le seul utilisateur mais quand il sera deploye, on sera 4/5 dessus et donc il risque d'y avoir le moment ou le fichier sera deja entrain d'etre utilise par une autre personne;

    quel genre de boucle faut il pour faire patienter la 2eme personne qui veut ouvrir le fichier? eviter qu'elle soit en read only par exemple quand elle veut enregistrer par exemple

    Merci par avance...

  2. #2
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    regardes le partage de classeur . mais je ne peut pas te renseigner plus j'ai toujours éviter de m'en servir .
    ce que je fait sur les BD commune ( par exemple un fichier d'adresse commune) c'est ouvrir le fichier télécharger le tableau en mémoire et fermer le fichier. en cas de modification l'enregistrement rouvre le classeur et le referme aussitôt.
    ceci est valable pour un fichier qui ne doit pas être lu en continu.
    il s'agit dans les faits d'un créateur de bon d’échantillons . chacun à un éditeur de bon et les données sont stockées dans divers classeurs. Adresse , références, BP . chaque classeur de sauvegarde est ouvert et refermé aussitôt. ce principe est bon pour ce type de fonctionnement ; dans ton cas j'ignore ce que tu veux faire

  3. #3
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Pour vérifier si un classeur est déjà utilisé et éviter de l'ouvrir en lecture seule, tu peux tester ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub test()
    Dim FichNum As Integer, ErrNum As Integer, FichNom As String
     
    FichNom = "C:\temp\toto.xls" '<-- chemin complet et nom du classeur à tester
    On Error Resume Next
    FichNum = FreeFile()
    Open FichNom For Input Lock Read As #FichNum
    Close FichNum
    ErrNum = Err
    On Error GoTo 0
    Select Case ErrNum
        Case 0: Workbooks.Open FichNom '<-- le classeur n'est pas utilisé
        Case 70: MsgBox "Le classeur est déjà ouvert par un autre utilisateur, veuillez réessayer plus tard"
    End Select
     
    End Sub

  4. #4
    Membre averti
    Inscrit en
    Mai 2012
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 39
    Par défaut
    Daranc c'est un peu le meme systeme que ton principe de bon
    a part que definitivement je peux pas les stocker en archive trop de donnees

    ca va chercher une page contact
    une page produit
    enregistre dans un histo l'affiche dans le fichier excel par personne (je leur demande juste de cliker pour actualiser la liste)

    on doit pouvoir voir les produits que les autres fonts..

    est ce que tu as deja eu des problemes d'enregistrement simultanes et autres?

    MERCI fring pour la verif lecture seule; comment juste la faire boucler pour quil attende que le fichier soit de nouveau libre pour quil enregistre

    sinon comment faire pour ouvrir le fichier en lecture seule juste pour aller recuprerer des donnees merci par avance

  5. #5
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par AmauryLondon Voir le message
    comment juste la faire boucler pour quil attende que le fichier soit de nouveau libre
    Tu peux faire comme ceci, dans cet exemple il va tester le fichier toutes les 5 secondes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Sub Ouverture_Fichier()
    Dim FichNum As Integer, ErrNum As Integer, FichNom As String
     
    FichNom = "D:\temp\test.xls" '<-- chemin complet et nom du classeur à tester
    On Error Resume Next
    FichNum = FreeFile()
    Open FichNom For Input Lock Read As #FichNum
    Close FichNum
    ErrNum = Err
    On Error GoTo 0
    Select Case ErrNum
        Case 0: Workbooks.Open FichNom '<-- le classeur n'est pas utilisé
        Case 70: Application.OnTime Now + TimeValue("00:00:05"), "Reco"
    End Select
     
    End Sub
     
    Sub reco()
    Ouverture_Fichier
    End Sub
    Citation Envoyé par AmauryLondon Voir le message
    sinon comment faire pour ouvrir le fichier en lecture seule juste pour aller recuprerer des donnees
    Là je ne comprend pas la question, dans ce cas il suffit d'ouvrir le fichier et il sera en lecture seule ou non selon qu'il est déjà utilisé ou pas.

  6. #6
    Membre averti
    Inscrit en
    Mai 2012
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 39
    Par défaut
    merci pour la boucle ; et il ya moyen de boucler mais sans lancer un autre sub;

    merci

    sinon ma question que tu comprends pas est: Comment forcer l'ouverture dun fichier en lecture seul (meme si il serait dispo en ecriture) comme ca si quelqun lit le fichier et que quelquun veut ecrire ca passe sans probleme

    merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/06/2011, 11h52
  2. Envoyer sur une base de donnee
    Par didi74 dans le forum C++/CLI
    Réponses: 10
    Dernier message: 21/04/2010, 18h07
  3. IMPORTANT : Récupérer des données sur une base de donnee externe
    Par _cece dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 17/10/2008, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo