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 :

Pb gestion de fichiers Excel depuis VBA access


Sujet :

VBA Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 154
    Points : 193
    Points
    193
    Par défaut Pb gestion de fichiers Excel depuis VBA access
    Bonjour,

    J'importe dans ma DB, mes relevés bancaires pros que j'ai préalablement téléchargés sur le site de ma banque.
    Ce sont des fichiers.xls mais au format "Page Web" ce qui m'oblige à appliquer un Saveas pour modifier le format et ainsi lancer le transfert des données dans ma DB.
    Jusque là, je sais le faire par VBA mais seulement quand il n'y a qu'un seul fichier dans mon répertoire spécifique et avec un nom de fichier précis.

    J'aimerai pouvoir gérer la possibilité qu'il puisse y avoir plusieurs relevés bancaires à traiter et avec des noms variables.
    J'ai écris ceci :
    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
    Private Sub Commande2_Click()
        Dim rep As String
        Dim xlApp As Variant, xlBook As Variant, xlSheet As Variant
        Set xlApp = CreateObject("Excel.Application")
        'Set xlBook = xlApp.Workbooks.Open("F:\Mes Documents\Finance\Application\Relevés banque\CA20140223_1048.xls")
        'Set xlSheet = xlBook.Worksheets("CA20140223_1048")
        'xlApp.Visible = True
     
        ' Obtient le premier fichier ou répertoire qui est dans "F:\"
        rep = Dir("F:\Mes documents\Finance\Application\Relevés banque\*.xls", vbNormal)
        MsgBox rep
     
        ' Boucle tant que le répertoire n'a pas été entièrement parcouru
        Do While (rep <> "")
     
            Set xlBook = xlApp.Workbooks.Open(rep)
            'Set xlSheet = xlBook.Worksheets("monfichier")
            xlApp.ActiveWorkbook.SaveAs FileName:="F:\Mes Documents\Finance\Application\Relevés banque\monnouveaufichier.xls", FileFormat:=xlExcel8
            rep = Dir
        Loop
    End Sub
    et j'ai une erreur ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set xlBook = xlApp.Workbooks.Open(rep)
    Access m'indique que le fichier répertorié est introuvable ou mal écris .... alors que lors du survol de ma souris sur ma variable rep ainsi que dnas ma MsgBox (dans le code pour le test), le nom du fichier à traiter est bien existant et bien écris aussi.

    Est-ce un problème de syntaxe ?
    Merci pour vos lumières.
    Bonne journée.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 154
    Points : 193
    Points
    193
    Par défaut
    Il y a des jours où je ne suis pas trés malin ...

    Ca marche beaucoup mieux avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set xlBook = xlApp.Workbooks.Open("F:\Mes documents\Finance\Application\Relevés banque\" & rep)
    Donc voici le code corrigé :
    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
    Private Sub Commande2_Click()
     
        Dim rep As String
        Dim xlApp As Variant, xlBook As Variant, xlSheet As Variant
        Set xlApp = CreateObject("Excel.Application")
     
        ' Obtient le premier fichier ou répertoire qui est dans "F:\"
        rep = Dir("F:\Mes documents\Finance\Application\Relevés banque\*.xls", vbNormal)
     
        ' Boucle tant que le répertoire n'a pas été entièrement parcouru
        Do While (rep <> "")
     
            Set xlBook = xlApp.Workbooks.Open("F:\Mes documents\Finance\Application\Relevés banque\" & rep)
     
            xlApp.ActiveWorkbook.SaveAs FileName:="F:\Mes Documents\Finance\Application\Relevés banque\F" & rep, FileFormat:=xlExcel8
            Kill ("F:\Mes documents\Finance\Application\Relevés banque\" & rep)
     
            rep = Dir
        Loop
     
        xlApp.Quit
        Set xlApp = Nothing
        Set xlBook = Nothing
        Set xlSheet = Nothing
     
    End Sub
    Néanmoins il demeure un bug : en effet, le premier fichier.xls présent (à reformater) dans mon répertoire passe deux fois dans le code.

    Je cherche ....

Discussions similaires

  1. [AC-2000] Ouverture d'un fichier Excel depuis VBA Access
    Par Aeltith dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/06/2010, 15h43
  2. Rechercher une valeur dans fichier Excel depuis VBA Access
    Par tribaleur dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/07/2008, 14h10
  3. Création nouveau fichier excel depuis vba
    Par bossLINDROS dans le forum VBA Access
    Réponses: 7
    Dernier message: 11/04/2008, 15h31
  4. Tracé graphique sur fichier excel depuis vba access
    Par kdestine dans le forum VBA Access
    Réponses: 0
    Dernier message: 26/09/2007, 12h37
  5. créer un fichier excell avec VBA(access)
    Par JCH dans le forum Access
    Réponses: 1
    Dernier message: 19/09/2006, 19h07

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