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 :

Ordre lignes colonnes dans array avec getrows connexion ADO


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
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Par défaut Ordre lignes colonnes dans array avec getrows connexion ADO
    Bonjour,

    Lorsque je transfère les données d'une feuille ouverte dans une variable tableau à l'aide du code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Donnees = Range("A1").CurrentRegion
    J'obtiens le résultat suivant :

    Nom : Donnees_1.png
Affichages : 301
Taille : 8,5 Ko

    Lorsque je vais chercher les données dans le même fichier fermé avec le dode ci-après :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Sub RequeteClasseurFerme()
        Dim Cn As ADODB.Connection
        Dim Fichier As String
        Dim NomFeuille As String, texte_SQL As String
        Dim Rst As ADODB.Recordset
        Dim Donnees()
     
        'Définit le classeur fermé servant de base de données
        Fichier = "D:\druch\Documents\Motorola\Empower\Reporting\Développement macro\Test_mvts.xlsb"
        'Nom de la feuille dans le classeur fermé
        NomFeuille = "Données HP3000"
     
        Set Cn = New ADODB.Connection
     
        '--- Connection ---
        With Cn
            .Provider = "Microsoft.ACE.OLEDB.12.0"
            .ConnectionString = "Data Source=" & Fichier & _
                ";Extended Properties=Excel 8.0;"
            .Open
        End With
        '-----------------
     
        'Définit la requête.
        '/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
        texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
     
        Set Rst = New ADODB.Recordset
        Set Rst = Cn.Execute(texte_SQL)
     
        'Ecrit le résultat de la requête dans une variable tableau
        Donnees = Rst.GetRows
     
        '--- Fermeture connexion ---
        Cn.Close
        Set Cn = Nothing
     
    End Sub
    J'obtiens une inversion des lignes et colonnes :

    Nom : Donnees_2.png
Affichages : 282
Taille : 8,2 Ko

    Y aurait-il un moyen de garder le même ordre ligne-colonne ?

    Vous remerciant par avance de l'aide que vous m'apporterez.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Donnees = application.transpose(Rst.GetRows)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 55
    Par défaut
    Bonjour,

    Merci pour ta réponse rapide par contre cela me génère une erreur d'exécution '13' : Incompatibilité de type.
    Aurais-tu une idée ?

    Cdlt.

Discussions similaires

  1. Ordre des colonnes dans in Index
    Par dev-man dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 20/09/2007, 15h22
  2. Ordre des colonnes dans une table
    Par c.langlet dans le forum Administration
    Réponses: 3
    Dernier message: 16/05/2007, 18h39
  3. Réponses: 1
    Dernier message: 02/05/2007, 15h16
  4. [vb6] Changez dynamiquement ordre des colonnes dans listview ?
    Par sun19 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 26/10/2006, 16h50
  5. [C#] ordre des colonnes dans un datagrid
    Par enfants dans le forum Windows Forms
    Réponses: 7
    Dernier message: 10/06/2006, 01h35

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