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 :

Ecrire une requête détaillée d'accès à un fichier excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Par défaut Ecrire une requête détaillée d'accès à un fichier excel
    Bonjour à tous,

    Je chercher un moyen d'ajouter des détails à ma requête dans un fichier excel fermé. J'arrive bien à accéder au fichier en question, mais je voudrais faire un "group by" sur une valeur d'une colonne.

    Voilà mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set ADOCommandFIII = New ADODB.Command
            With ADOCommandFIII
                .ActiveConnection = SourceIII
                .CommandText = "SELECT * FROM [" & FeuilleFIII & CelluleFIII & "]"
            End With
    Au lieu du SELECT *, je voudrais faire un SELECT sur la 1ère colonne de mon range.

    Est-ce que quelqu'un peut m'aider, je n'arrive pas à résoudre un problème de syntaxe.

    Merci d'avance

  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


    je voudrais faire un "group by" sur une valeur d'une colonne.
    Peux tu repréciser ta demande ?



    Au lieu du SELECT *, je voudrais faire un SELECT sur la 1ère colonne de mon range.
    Si par exemple la première cellule de la colonne contient la chaine "NomColonne", cela donnerait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT [NomColonne] FROM maTable"



    bonne soirée
    michel

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Par défaut Quelques précisions
    En fait je n'arrive pas à récupérer le nom de ma colonne ("Compte général")

    Je ne sais pas si c'est lié au fait qu'il contienne des accents ou à mon code. Je joins le code pour mieux expliquer :

    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
    Dim SourceIII As ADODB.Connection
            Dim RstFIII As ADODB.Recordset
            Dim ADOCommandFIII As ADODB.Command
            Dim FichierFIII As String, CelluleFIII As String, FeuilleFIII As String
            curshnameFIII = ActiveSheet.Name
            Dim Field1 As String
            Field1 = "'2132*'"
     
            'Adresse de la cellule contenant la donnée à récupérer
            'CelluleFIII = "A1:Z9999"
            'Pour une plage de cellules, utilisez:
            'Cellule = "A4:C10"
     
            FeuilleFIII = "Mouvements comptables$" 'n'oubliez pas d'ajouter $ au nom de la feuille.
            'Chemin complet du classeur fermé
            FichierFIII = Acces
     
            Set SourceIII = New ADODB.Connection
            SourceIII.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                "Data Source=" & FichierFIII & ";Extended Properties=""Excel 8.0;"";"
     
            Set ADOCommandFIII = New ADODB.Command
            With ADOCommandFIII
                .ActiveConnection = SourceIII
                .CommandText = "SELECT * FROM [" & FeuilleFIII & "]"
            End With
     
            Set RstFIII = New ADODB.Recordset
            RstFIII.Open ADOCommandFIII, , adOpenKeyset, adLockOptimistic
     
            Set RstFIII = SourceIII.Execute("[" & FeuilleFIII & "]")
    Dans mon CommandText, je n'arrive pas à insérer le nom de ma colonne sur laquelle je veux faire un tri.

    Merci d'avance de votre aide !

  4. #4
    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
    bonjour


    je t'ai fourni la syntaxe dans mon précédent message:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT [NomColonne] FROM maTable"
    je ne le vois pas dans ta dernière procédure .....


    Je ne sais pas si c'est lié au fait qu'il contienne des accents
    ce n'est effectivement pas conseillé lorsque l'on manipule des classeurs fermés par ADO ou DAO ...
    le nom doit être indiqué entre crochets dans ce cas.


    bonne soirée
    michel

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Par défaut Merci beaucoup
    Merci beaucoup Michel de ton aide,

    Grâce à toi, j'ai pu identifier mon problème qui était en partie lié à l'appel d'une colonne.

    A bientôt et merci encore pour ton aide,
    Philippe

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/06/2009, 13h57
  2. Ecrire une chaine de caractère dans un fichier excel
    Par Wassim123 dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/05/2008, 10h42
  3. Réponses: 3
    Dernier message: 28/03/2008, 10h48
  4. limitation de caractére dans une requête SQL sous Acces
    Par amka dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 18/08/2006, 15h15
  5. Ecrire une requête
    Par justinetb dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/06/2006, 21h12

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