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

Access Discussion :

[VBA Excel Débutant] Tri d'un fichier Excel depuis Access


Sujet :

Access

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 43
    Par défaut [VBA Excel Débutant] Tri d'un fichier Excel depuis Access
    Bonjour,

    Actuellement j'ai lié un fichier Excel à ma base de données Access.
    Seulement j'ai un bug car Access n'arrive pas à lire les données à la fin du fichier (vers les 5000 lignes), sachant qu'il s'agit des données nécessaires...

    Une solution à ce problème est donc de trier le fichier Excel selon une colonne.
    J'essaie donc de faire ce tri depuis Access à l'aide d'une procédure VBA.

    Seulement le code suivant marche une fois sur deux et ne ferme pas Excel qui continue de s'exécuter en fond.
    La première fois j'ai le message suivant : "Run-Time Error '462'. The remote server machine does not exist or is unavailable", la deuxième fois le traitement ce fait mais Excel ne se quitte pas correctement. J'ai donc 2 Excel en tache de fond.

    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
    Public Sub TriEJ()
     
    'Déclaration des variables du document Excel
    Dim appExcel As Excel.Application
    Dim wbExcel As Excel.Workbook
    Dim wsExcel As Excel.Worksheet
     
        'Ouverture de l'application
        Set appExcel = CreateObject("Excel.Application")
        'Ouverture d'un fichier Excel
        Set wbExcel = appExcel.Workbooks.Open("S:\Paris\operations\MOOP\Collat\Projet\CollatManager\Excel\EJ.xls")
        'wsExcel correspond à la première feuille du fichier
        Set wsExcel = wbExcel.Worksheets(1)
     
        wbExcel.Worksheets(1).Range("A2").Sort _
            Key1:=Range("X2"), _
            Order1:=xlAscending, _
            Header:=xlGuess, _
            OrderCustom:=1, _
            MatchCase:=False, _
            Orientation:=xlTopToBottom
     
        appExcel.DisplayAlerts = False
        'Fermeture du classeur Excel
        wbExcel.Close True, "S:\Paris\operations\MOOP\Collat\Projet\CollatManager\Excel\EJ.xls"
        appExcel.DisplayAlerts = True
        'Fermeture de l'application Excel
        appExcel.Quit
     
        'Désallocation mémoire
        Set wsExcel = Nothing
        Set wbExcel = Nothing
        Set appExcel = Nothing
     
    End Sub
    Merci d'avance pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut Déjà...
    Salut ElGringo,

    Déjà, pour ne plus avoir le problème avec Excel, il faut du tu mette:
    Au debut de ta Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public Sub TriEJ()
    On Error GoTo Erreur_Proc
    Et à la fin:
    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
    Exit_Erreur:
        appExcel.DisplayAlerts = False
        'Fermeture du classeur Excel
        wbExcel.Close True, "S:\Paris\operations\MOOP\Collat\Projet\CollatManager\Excel\EJ.xls"
        appExcel.DisplayAlerts = True
        'Fermeture de l'application Excel
        appExcel.Quit
     
        'Désallocation mémoire
        Set wsExcel = Nothing
        Set wbExcel = Nothing
        Set appExcel = Nothing
        Exit Sub
     
    Erreur_Proc:
      ' Pas obligatoire
      Msgbox "Une erreur est survenue !?"
     ' Obligatoire
        Resume Exit_Erreur
    End Sub
    Ce qui permet au code de bien fermé Excel si il y'a une erreurà un moment donné !

    Sinon pour ton tri, pour le moment je ne sais pas !

    A+

  3. #3
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonsoir,

    j'ai essayé le code et j'ai aussi l'erreur de temps en temps.

    J'ai remplacépar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Key1:=wbExcel.Worksheets(1).Range("X2")
    et je ne l'ai plus eu.

    Ca peut peut-être marcher pour toi aussi.

    A+

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 43
    Par défaut
    Merci beaucoup.

    Maintenant ça marche niquel, je suis content

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

Discussions similaires

  1. [XL-2003] Création d'un fichier Excel à chaque rupture d'un fichier Excel de référence.
    Par Richard_35 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 21/06/2025, 10h57
  2. [XL-2010] copier depuis des fichiers excel identiques vers un seul fichier excel sous vba
    Par fleur-d'orient dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/01/2015, 17h29
  3. Réponses: 4
    Dernier message: 13/06/2006, 15h11
  4. [VBA-E]Importer des données de fichiers excel fermés
    Par bart64 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/04/2006, 11h35
  5. [VBA] insérer une ligne dans un fichier excel
    Par cokinoumasterflash dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/07/2005, 18h52

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