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 :

[VBA Access]Ouvrir un fichier texte avec Excel via VBA Access


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 66
    Points : 47
    Points
    47
    Par défaut [VBA Access]Ouvrir un fichier texte avec Excel via VBA Access
    Bonjour,

    Je souhaite, grâce à une macro VBA dans Access, OUVRIR un fichier texte avec Excel afin de pouvoir mettre certaines colonnes en MAJUSCULES. Puis enregistrer le fichier en format .txt, et enfin fermer Excel sans sauvegarder. Je dois faire cela pour 97 fichiers textes.

    Ensuite j'importe ces fichiers dans Access pour avoir UNE table contenant les données de tous les fichiers textes (cette table contient alors environ 45000 enregistrements).

    Je n'ai aucun souci pour l'importation. En revanche, pour le pré-traitement de mes fichiers textes, j'ai essayé quelque chose mais une erreur me dit que le répertoire n'est pas valide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Function ColonnesMajuscules()
    Dim logiciel As String
    Dim fichier As String
    Dim alancer
     
    logiciel = "C:\Program Files\MicroSoft Office\Office\EXCEL.EXE"
    fichier = "Q:\GESTION\Tableaux de gestion\monFichier.txt"
    alancer = logiciel & " " & fichier
     
    Application = Shell(alancer, vbMaximizedFocus)
    End Function
    Comment résoudre ce problème ? De plus quand j'utilise une macro test pour enregistrer un fichiers texte, je ne souhaiterais pas voir les boites de dialogues du genre "Ce fichier existe déjà, voulez-vous le remplacer ?


    Sinon, y aurait-il un moyen de mettre toutes les données de mes fichiers textes en majuscules sans passer par Excel ?

    Aidez-moi SVP !

    Merci d'avance pour vos pistes...

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 351
    Points
    34 351
    Par défaut
    salut,
    si tu passes par du batch, en l'occurence du shell, il ne faut pas que les path des fichiers contiennent d'espace, ce qui est le cas actuellement. Pour parer à ce pb, tu dois mettre les paramètres sous batch entre simples quotes.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 66
    Points : 47
    Points
    47
    Par défaut
    euh... enmettant des simples quotes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Function ColonnesMajuscules()
     
    'on veut mettre en majuscule les colonnes contenant l'étiquette et les numéros de série
    Dim logiciel As String
    Dim fichier As String
    Dim alancer
     
    logiciel = "C:\'Program Files'\'MicroSoft Office'\Office\EXCEL.EXE"
    fichier = "Q:\GESTION\'Tableaux de gestion'\monFichier.txt"
    alancer = logiciel & " " & fichier
     
    Application = Shell(alancer, vbMaximizedFocus)
     
    End Function
    ... j'obtiens une erreur de type 53 "Fichier introuvable"

    Pourtant ces fichiers existent bien !
    Est-ce que je peut faire la même chose sans passer par du batch ou du shell ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 642
    Points : 34 351
    Points
    34 351
    Par défaut
    essaie plutôt comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    logiciel = "'C:\Program Files\MicroSoft Office\Office\EXCEL.EXE'"
    fichier = "'Q:\GESTION\Tableaux de gestion\monFichier.txt'"

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 66
    Points : 47
    Points
    47
    Par défaut
    Ca me met toujours l'erreur 53 : "Fichier introuvable"...

    Que faire maintenant ???

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 66
    Points : 47
    Points
    47
    Par défaut
    j'ai essayé de tenter autre chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function test()
     
    Dim nomFichier As String
    nomFichier = "Q:\GESTION\Tableaux de gestion\monFichier.txt"
    Workbooks.OpenText Filename:=nomFichier, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, Tab:=True
     
    End Function
    Cette fois pas de plantage mais il ne se passe rien non plus ...
    Je précise que mon code se trouve dans VBA Access (et non dans VBA Excel) car dans Excel cela fonctionne.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 66
    Points : 47
    Points
    47
    Par défaut
    Bon j'ai le code qui m'ouvre le fichier avec Excel :
    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
    Public Function ColonnesMajuscules()
     
    Dim nomFichier As String
    Dim xls As Excel.Application
     
    Set xls = CreateObject("Excel.Application")
    xls.Workbooks.Open "Q:\GESTION\Tableaux de gestion\monFichier.txt"
    xls.Visible = True
     
    'Sauvegarde et ferme le classeur
    ActiveWorkbook.SaveAs nomFichier
     
    xls.Quit
    Set xls = Nothing
     
    End Function
    Tout fonctionne bien sauf que au niveau de la suvegarde des messages apparaissent pour savoir si je souhaite remplacez le fichier existant, etc ...

    Comment faire que ces messages n'apparaissent pas et donc n'arrête pas ma macro ???

Discussions similaires

  1. Ouvrir un fichier texte sur UltraEdit via VBA
    Par mah.ngaz dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/04/2013, 16h49
  2. Réponses: 1
    Dernier message: 25/08/2008, 11h57
  3. [VBA] Ouvrir plusieurs fichiers textes depuis Excel
    Par Stephane_123 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/12/2006, 17h45
  4. Ouvrir un fichier text avec Excel
    Par Chopard dans le forum Delphi
    Réponses: 2
    Dernier message: 07/11/2006, 22h33
  5. comment ouvrir un fichier XML avec excel
    Par ALCINA dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 24/03/2006, 14h42

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