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

VBA Access Discussion :

Tri d'un fichier EXCEL en VB par ACCESS


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Par défaut Tri d'un fichier EXCEL en VB par ACCESS
    Bonjour, je suis sur un problème que je vais tenter d'expliquer le plus clairement possible.

    Je suis sur une table comprenant de nombreux champs, dont 2 champs correspondants l'un à la date du jour, l'autre à un numéro d'enregistrement.

    Je souhaiterai trier l'ensemble de cette table tout d'abord par date, puis par le n° d'enregistrement.

    La date est sur : Champ1
    Le n° d'enregistrement est sur : Champ2

    J'ai donc créé la requête SQL suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.RunSQL ("SELECT * FROM nomTable ORDER BY Champ1, Champ2;")
    La requête s'exécute bien, quand je la teste par l'onglet requête d'ACCESS. Quand j'exécute l'instruction ci-dessus dans mon code VBA, je suppose donc que la sélection se fait bien, seulement je n'arrive pas à modifier ma table de base par le résultat de cette requête.

    Cela est-il possible ?? Je me balade sur les FAQ & tutos mais je n'arrive pas à trouver la solution, je ne trouve que la requête que j'ai tapé (peut-être que je ne cherche pas au bon endroit aussi).

    Je vous remercie par avance de l'aide que vous pourrez m'apporte

  2. #2
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    tu ne peux pas exécuter une requête sélection (SELECT).
    en revanche, tu n'as pas de notion d'ordre dans une table Access, le tri se fera par une requête à chaque exécution.

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Par défaut
    Ok

    En gros, si je comprends bien (car je suis pas certain ), que ma table soit en désordre ce n'est pas grave, je la trierai par exemple lors d'un export vers une feuille EXCEL ?? (oui l'exemple est bien choisi, c'est ce que je vais faire )

    Aucun moyen de passer un RecordSet du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set tri = CurrentDb.OpenRecordset("SELECT * FROM nomTable ORDER BY Champ1, Champ2;", [dbOpenDynaset])
    puis par un tri.Sort ???

    Je me renseigne n'étant pas vraiment une flèche dans ce domaine

  4. #4
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Salut

    Order By effectue le tri des enregistrements dans l'ordre où tu les cites.


  5. #5
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Par défaut
    Ouép, ça je l'ai compris ^^ mais j'ai laissé tomber pour le tri de la table Access, je suis dans l'optique de l'exporter sous EXCEL puis de la trier.

    Par contre je me retrouve confronté à un nouveau problème (je ne fais que ça ^^).

    Quand je tape le code VB suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    oSheet.Range("A3:AP" & LigneMax).Sort Range("B3"), xlAscending, Range("A3"), , xlAscending
    Access me dit : "La réponse 'Range' de l'objet '_Global' a échoué.

    Je ne comprends pas, mon objet étant oSheet.

    Quelqu'un a t'il un petit tips ? ;o)

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Dans ton range tu fais appel à une variable, tu as une erreur de syntaxe, essaie ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    oSheet.Range("A3:AP" & LigneMax & "").Sort Range("B3"), xlAscending, Range("A3"), , xlAscending
    Starec

  7. #7
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Ouép, ça je l'ai compris ^^ mais j'ai laissé tomber pour le tri de la table Access, je suis dans l'optique de l'exporter sous EXCEL puis de la trier.
    Et pour quelle raison ???
    C'est plus simple.
    En faisant ça sur Excel : tu vas devoir sélectionner ton tableau. Couper-Coller ta 1ère colonne, effectuer ton tri, couper-coller ta 2ème colonne, refaire un tri et le tout en selectionnant à chaque fois ton tableau et ensuite remettre en place tes colonnes.
    Enfin, je te dis ça parce qu'à ma connaissance pour effectuer un tri sur Excel il faut que la colonne active de la sélection soit au début ou à la fin du tableau pour trier les lignes entièrement

    Pas super pratique

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

Discussions similaires

  1. supprimer un fichier excel du disque par java
    Par amine1980 dans le forum Documents
    Réponses: 2
    Dernier message: 31/12/2008, 15h51
  2. [Excel] Lecture d'un fichier excel sous linux par php
    Par marcandre dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 13/07/2008, 16h45
  3. Réponses: 4
    Dernier message: 08/08/2007, 16h40
  4. [VBA Excel Débutant] Tri d'un fichier Excel depuis Access
    Par elgringo2007 dans le forum Access
    Réponses: 3
    Dernier message: 07/08/2006, 16h21
  5. Ouverture d'un fichier Excel en VBA par Access
    Par illight dans le forum Access
    Réponses: 2
    Dernier message: 02/11/2005, 11h14

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