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

Excel Discussion :

Connexion ADO avec une plage nommée d'une seule cellule


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Connexion ADO avec une plage nommée d'une seule cellule
    Bonjour,

    Je souhaite accéder à des plages nommées de plusieurs fichiers avec une connexion ADO. Toutes les plages nommées ne comportent qu'une seule cellule.

    En exécutant, cela ne fonctionne pas (message : Le moteur de base de données n'a pu trouver l'objet PARAMETRE ...").
    Si je transforme la plage nommée en deux cellules, cela fonctionne. Je ne peux faire cela que pour mes tests. A terme, je ne pourrai pas modifier les fichiers sources.

    Quelqu'un aurait-il une idée ?

    Extrait de code utilisé (toutes les variables sont bien déclarées) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    sSql = "SELECT * FROM [" & sCritere & "]"
        Set cn = mdlFnFichier.ConExcelOpen(False, sFichier)     'ConExcelOpen : fonction qui ouvre une connexion, False indique qu'il n'y a pas d'entête)
        Set ADOCommand = New ADODB.Command
        ADOCommand.ActiveConnection = cn
        ADOCommand.CommandText = sSql
        Set Rst = New ADODB.Recordset
        Rst.Open ADOCommand, , adOpenStatic, adLockReadOnly  ' Plante sur cette ligne
    D'avance merci

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 115
    Points : 180
    Points
    180
    Par défaut
    Bonjour

    Une proposition... (sans le ADODB.Command)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    sSql = "SELECT * FROM [" & sCritere & "]"
        Set cn = mdlFnFichier.ConExcelOpen(False, sFichier)     'ConExcelOpen : fonction qui ouvre une connexion, False indique qu'il n'y a pas d'entête)
        Set Rst = New ADODB.Recordset       'Création du recordset
        Set Rst = cn.Execute(sSql )               '"Remplissage" du recordset
        'Ecrit le résultat de la requête dans la cellule "A1"
        Range("A1").CopyFromRecordset rst
    Cordialement

  3. #3
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Bonjour,

    pour une seule cellule, possible par formule (même par VBA) comme pour une copie avec liaison, le B-A-BA d'Excel !

    Voir aussi dans les discussions du bon forum, celui dédié au VBA …


    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  4. #4
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274

Discussions similaires

  1. [XL-2007] TCD à partir d'une plage nommée vers une nouvelle feuille nommée
    Par MushuLeDragon dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/01/2015, 10h49
  2. [XL-2007] Utilisation d'une plage nommée dans une recherchev
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/06/2014, 15h15
  3. [XL-2010] Remplacer une ligne par une autre issue d'une plage nommée
    Par julio44 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/06/2014, 16h26
  4. [Toutes versions] Accéder aux éléments d'une plage nommée dans une formule
    Par TOM3110 dans le forum Excel
    Réponses: 1
    Dernier message: 13/05/2009, 11h53
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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