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 :

[VBA] 1 Resultat Requete SQL dans une cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut [VBA] 1 Resultat Requete SQL dans une cellule
    Bonjour,

    depuis un fichier excel, en VBA j’exécute une requête SQL qui va me retourner une seul ligne de résultat.

    Quand j'ai plusieur résultat je fait arriver le résultat sur une feuille de mon fichier excel, mais la comme j'ai un seul résultat, je voudrais dire que la donnée/ Champs "NStock" je l'insere dans la cellule E10, La donnée/CHamps "Marque" je l'insere dans la cellule B14.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Worksheets("ru").Range("E10").CopyFromRecordset rsBati

    Est-ce possible de le faire avec le CopyFromRecordset ou pas? faut-il passer par une autre méthode?

    merci d'avance pour vos conseil

    guigui69

  2. #2
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 574
    Par défaut
    Bonjour,
    Tu n'as pas essayer pour voir si c'est possible ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    with Worksheets("ru")
    If not rsBati.eof then
           .Range("E10")=rsBati("NStock")
           .Range("B14")=rsBati("Marque")
    En if
    Enduit with

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    829
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 829
    Par défaut
    Ca fonctionne comme tu l'as indiqué.

    Pourquoi je n'ai pas besoin utiliser "CopyFromRecordset" pour cela ?

  4. #4
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 574
    Par défaut
    CopyFromRecordset est une fonction Excel qui parcourt le recordset pour l'affecter à une plage Excel! il est préférable de l'utiliser quand les cellules à affecter sont contigües!

    un recordset est une collection d'enregistrements et champs {fields} il es possible de les manipuler en VBA sans passer par des méthode Excel car ado s'adresse à vb mais pas forcément à Excel!

    voici l'équivalant à CopyFromRecordset en pur VBA uniquement!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    With Worksheets("ru")
        While Not rsBati.EOF
            For C = 0 To rsBati.fields.Count - 1
               .Range("E10").Offset(L, C) = rsBati(C)
            Next
            rsBati.Movenext
            L = L + 1
        Wend
    End With

  5. #5
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 126
    Par défaut
    Salut

    Si la version le permet pourquoi ne pas plutôt utiliser PowerQuery (ou MsQuery)? Ces extensions sont faites pour rapatrier des données.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. [XL-2007] Requete SQL dans une cellule Excel mutliligne
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 04/12/2010, 15h06
  2. Resultat requete count dans une variable en VBA
    Par langelot222 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 12/07/2007, 09h33
  3. Réponses: 1
    Dernier message: 22/06/2007, 17h04
  4. Réponses: 2
    Dernier message: 25/04/2007, 14h56
  5. ASP/ SQL Server : resultat de RS dans une cellule.
    Par joe_le_mort dans le forum ASP
    Réponses: 2
    Dernier message: 11/08/2005, 13h26

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