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 :

Données/Validation classeur fermé Distant


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 73
    Par défaut Données/Validation classeur fermé Distant
    Bonjour,
    Je viens de trouver cette doc :
    Données/Validation
    Sur les listes dynamiques tirant leurs donnée d'un fichier fermé.
    Or je ne comprends pas trés bien comment cela fonctionne.
    Voila ce qui me trouble :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    repertoire = ThisWorkbook.Path & "\"
    cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & repertoire & "\" & "DVSource.xls"ce qui au final done un DBQ = \toto\tata\lerepertoire\\DVSource.xls
    Est-ce normal le \\ ?!

    Autre question, peut-on utiliser cette méthode pour un fichier distant qui n'est pas dans le même répertoire que le fichier dans lequel on applique cette macro ?!

    J'ai bien entendu essayé et ce, sans succés.

    voici mon code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Target.Address = "$B$2" Then
       repertoire = "\Path\..\Test Reporting\"
       Dim rs As ADODB.Recordset
       Set cnn = New ADODB.Connection
       cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & repertoire & "\" & "DVSource.xls"
       Set rs = cnn.Execute("SELECT noms FROM MaBD where noms<>'' ORDER BY noms")
        Sheets("Feuil2").[A2:A1000].ClearContents
       Sheets("Feuil2").[A2].CopyFromRecordset rs
      End If
    End Sub
    Bien entendu il existe Feuil2 dans mon fichier.

    Quelqu'un a une idée ?!

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir


    Voila ce qui me trouble :

    repertoire = ThisWorkbook.Path & "\"
    cnn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & repertoire & "\" & "DVSource.xls"ce qui au final done un DBQ = \toto\tata\lerepertoire\\DVSource.xlsEst-ce normal le \\ ?!
    Il y a effectivement un antislash de trop



    Autre question, peut-on utiliser cette méthode pour un fichier distant qui n'est pas dans le même répertoire que le fichier dans lequel on applique cette macro ?!
    normalement oui.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    repertoire = "\Path\..\Test Reporting\"
    le chemin indiqué est il correct?
    et il y a toujours un antislash de trop à la fin.


    http://silkyroad.developpez.com/VBA/ClasseursFermes/




    bonne soirée
    michel

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Personnellement, avant de faire tout cela (sauf si le VBA est obligatoire), je m'orienterais vers MSQuery pour récupérer les données du classeur distant, et je baserais ma liste déroulante de validation sur le résultat de la requête...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 73
    Par défaut
    Malheureusement oui Excel et VBA sont de mise..
    J'ai pris une autre solution, j'ouvre le fichier en lecture seule à l'ouverture du premier fichier. C'est barbare mais c'est le plus rapide pour les délais qui me sont fixés..

    Je me demandais comment est-ce qu'on désactive les message de demande d'ouverture en lecture et autre jouyeusetés du genre ?!

    De même comment désactive-t-on l'affichage d'un classeur ?
    (je veux ouvrir mon classeur source en "caché" ou un fond)

    merci d'avance !

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Pourquoi est-ce obligatoire de le faire par VBA? (exercice d'un cours que tu suis?)

    Si l'obligation est "de résultat" et pas "de moyens", MSQuery permet d'atteindre le résultat sans problème...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 73
    Par défaut
    Obligation de moyen malheureusement.
    Je fais un outil de reporting et il évolue TRES vite. J'en suis à ma 6éme version en moins de 2 semaines.
    Seulement il doit être utilisé par tout le monde, donc accessible.
    De plus je n'ai pas de budget prog, et je ne suis pas programmeur à la base.

    Donc gogo excel et ces joyeusetés avec tous les problémes que cela entraine.

    Mes questions sont toujours d'actualités donc !

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

Discussions similaires

  1. Besoin d'aide Macro récupéré les mêmes données sur classeur fermé
    Par djinero dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/10/2011, 15h40
  2. [XL-2002] ListView et données dans Classeur fermé
    Par vaucluseimmo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/01/2010, 07h59
  3. récuperer des données de classeurs fermés dans un classeur
    Par peygase83 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 12/02/2009, 00h03
  4. Copier données vers classeur fermé
    Par andy38 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/06/2008, 23h35
  5. Copier des données de classeurs Excel fermés vers un classeur ouvert
    Par gwen-al dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 11/03/2008, 17h00

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