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 :

Dde Conseils pour rechercher un élément dans une base fermée ou autre [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 631
    Points : 255
    Points
    255
    Par défaut Dde Conseils pour rechercher un élément dans une base fermée ou autre
    Bonjour,
    j'ai une bonne 20e d'utilisateurs qui reçoivent des demandes concernant des clients. ils doivent traiter les nouveaux clients et transférer les clients existants vers la personne qui gère ce client.
    Chaque utilisateur dispose d'un fichier de suivi de ses dossiers, qu'il alimente par formulaire.

    Mon désir serait qu'après avoir saisi la référence du client dans sa textbox, si le client existe, il reçoive un message pour lui dire que le client existe et qu'il est traité par M. X

    Ma question, comment dois-je m'y prendre ?
    • Dois-je créer une base de données en parallèle de celles des utilisateurs (Ref Client / Nom du collègue)
    • Est-il possible de questionner des bases de données diverses, sans les ouvrir (seul le propriétaire de la base y a accès) ?

    Si je crée une base parallèle, doit-on l'ouvrir à chaque fois que l'on saisit un utilisateur pour la questionner ?
    Pour créer cette base parallèle, je suis également obligé de l'ouvrir à chaque nouveau client, pour la mettre à jour ?
    N'Y a t'il pas de pb si plus utilisateurs ouvrent la base en même temps ?


    Merci pour vos conseils

  2. #2
    Membre actif
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 631
    Points : 255
    Points
    255
    Par défaut
    Bonjour,
    je n'ai pas beaucoup de succès.
    J'ai avancé avec une base de données en parallèle de celles des utilisateurs (Ref Client / Nom du collègue).
    mais les recherches dans un fichier fermé entraine de sérieux ralentissement, puisqu'il faut l'ouvrir à chaque recherche, puis le fermer puis si c'est un nouveau client, le rouvrir et enregistrer les infos puis le refermer...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
    FichierXlsx = "C:\MyRepertoire2\MyFichier.xlsx"
    With CreateObject("Adodb.Connection")
        .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FichierXlsx & ";Extended Properties=""Excel 12.0;HDR=YES;"""
        Set rs = .Execute("Select * from [Feuil1$] where [A0]='A9'")
        If Not rs.EOF Then Debug.Print rs.getstring
        rs.Close
        .Close
        End With
    End Sub

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par mouftie Voir le message
    mais les recherches dans un fichier fermé entraine de sérieux ralentissement
    Ce qui est normal puisque Excel n'est pas un gestionnaire de base de données, c'est un calculateur.
    Tu es en train de demander si un couteau suisse est un bon outil pour un plombier. La réponse est, bien évidemment, non.

    Si tu veux faire du travail de base de données, passe par un SGBD, au minimum Access, OpenBase ou LibreBase.
    Ca demandera un peu de travail et de temps à mettre en place mais au moins, ce sera fonctionnel et professionnel.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre actif
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 631
    Points : 255
    Points
    255
    Par défaut
    Bonjour dysorthographie et Menhir,
    Merci pour vos réponses.
    Menhir : nous n'avons pas ni des licences de base de données ni le droit d'en installer.
    dysorthographie : j'ai un pb avec le code que tu me proposes : "Impossible de trouver le fournisseur. Il est peut-être mal installé."
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FichierXlsx & ";Extended Properties=""Excel 12.0;HDR=YES;"""
    j'ai essayé de remplacer 12.0 par 8.0, 9.1, 10.0, 11.0, 13.0, cela ne change rien ?
    Je ne comprends pas bien ton code, je suppose que rs recheche mon Nir dans FichierXlsx, dans la feuille "Feuil1" ou [A0]='A9' ?
    Je ne comprends pas du tout [A0]='A9'
    If Not rs.EOF= si non trouvé alors message

    Merci de bien vouloir m'aider
    Il est vrai que quand j'ai développer mon code chez moi, cela tournait suffisamment vite, mais quand je l'ai installé au bureau, avec les serveurs, même sans macro, il faut 12 secondes pour ouvrir un fichier de 350 cellules.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Pour une raison que je ne comprends pas, certaines sociétés comme les banques les assurances, refuse s'installer les drivers ODBC
    Impossible de trouver le fournisseur.
    Et je sais par expérience que si tu appel l service informatique, ils ne seront pas de quoi tu parle le!

    Il me semble peut probable que tu puisses parvenir à tes fin sens ouvrir le fichier!
    Dernière modification par Invité ; 15/12/2017 à 17h37.

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par mouftie Voir le message
    Menhir : nous n'avons pas ni des licences de base de données ni le droit d'en installer.
    Pour ce qui est des licences, LibreBase et OpenBase sont des logiciels open source.
    Ils ne sont donc pas payants. Il peuvent s'acquérir librement et s'installer sur autant de postes que nécessaire.
    http://fr.libreoffice.org/
    http://fr.openoffice.org/

    Ils disposent d'une abondante documentation et d'une rubrique sur ce forum.

    Pour ce qui est des règles internes de ton entreprise en matière d'installation de logiciels, je ne peux rien y faire.
    Mais peut-être pourrais-tu essayer de faire la demande à qui de droit pour obtenir cette permission si tu argumentes de la nécessité pour les applications que tu développes.
    Pour info, je suis perso dans le même cas que toi et j'ai obtenu ce droit qui a paru légitime sans que j'ai besoin d'insister (qui ne demande rien n'a rien ).

    Sans vouloir paraitre désobligeant, faire une base de données multi-utilisateurs et multi-fichiers sur Excel, c'est un bricolage très risqué.
    Consacrer un peu de temps à apprendre à utiliser une base de données et à développer des interfaces propres pour les utilisateurs, au final, c'est très rentable.

    Citation Envoyé par dysorthographie Voir le message
    Il me semble peut probable que tu puisses parvenir à tes fin sens ouvrir le fichier!
    De toute façon, d'une manière ou d'une autre, le fichier sera ouvert.
    On ne peut ni lire ni écrire dans un fichier sans l'ouvrir, du moins en VBA (peut-être avec de l'assembleur en suivant les secteurs disque directement...).
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour Menhir (),

    Il n'a pas le droit s'installer quoi que ce soit open barre ou sou licence!

    Toute installation figurant dans les package standard font l'objet d'autorisations du chef de service.

    Toute autres forme d'installations fait objet d'une enquête!

    Personnellement je n'ai pas réussi à utiliser notpad++ version usb!

    Je pense que notre ami est assujetti à ce genres de contraintes!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de recherche des éléments dans une liste.
    Par amine1980 dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 09/04/2011, 23h34
  2. Réponses: 10
    Dernier message: 11/03/2009, 17h30
  3. Recherche d'éléments dans une JList
    Par Goupsy dans le forum Composants
    Réponses: 2
    Dernier message: 05/08/2008, 15h12
  4. Outil pour rechercher des class dans une Dll
    Par Jimmy_S dans le forum ASP.NET
    Réponses: 3
    Dernier message: 09/01/2008, 11h38
  5. Correction pour ajouté un élément dans une liste
    Par Rifton007 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/01/2007, 11h09

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