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 :

[Excel] Manipulation d'un fichier ouvert avec excel


Sujet :

Access

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 148
    Points : 103
    Points
    103
    Par défaut [Excel] Manipulation d'un fichier ouvert avec excel
    Bonjour,
    Je souhaite ouvrir un fichier dbf avec Excel, faire Enregistrer sous pour lui donner un nouveau nom et le placer dans un répertoire précis (sans utiliser une copie) tout ceci depuis access en passant par le code.
    J'arrive à ouvrir mon fichier grace au code trouvé sur la FAQ avec ShellExecute mais je coince pour la suite...
    Est ce réalisable et si c'est le cas, j'attends votre aide...
    Merci d'avance
    Podz

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Si c'est juste le nom, tu as les instructions name, copyfile et kill en VB qui te permettes de faire ceci, par contre si c'est le renommer et changer l'extension en xls, alors là ?

    Starec

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 148
    Points : 103
    Points
    103
    Par défaut
    Salut
    pour etre plus clair, il s'agit du fichier eurg5cli.dbf (fichier client ) que j'ouvre avec excel et je fais enregistrer sous pour pouvoir le renommer T_Client.dbf dans un répertoire à partir duquel je fais mes importations dans ma base.
    Podz

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    C'est donc juste un changement de nom

    donc

    name
    copyfill
    kill

    Starec

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 148
    Points : 103
    Points
    103
    Par défaut
    Re starec
    Je pense que je me suis mal exprimé car ta solution ne permet de résoudre mon problème.
    Je reprends : il faut absolument que ce fichier dbf soit ouvert avec Excel puis enregistrer sous un autre nom car cela permet de modifier son format et de le rendre exploitable pour mon importation sous acces.
    Podz

  6. #6
    Invité
    Invité(e)
    Par défaut
    Désolé je coince


    Starec

  7. #7
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    alors faut passer par l'automation OLE...

  8. #8
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 148
    Points : 103
    Points
    103
    Par défaut
    bonjour
    Je suis en train de voir pour passer par l'automation OLE. Mais ce n'est pas si simple...
    En fait, le poste développeur sur lequel est installé access 2003 (et qui est mon poste de travail) ne possède pas Excel mais OpenOffice. Par contre, j'ai un poste sous le réseau ou Excel 97 est installé mais pas access (il y a le runtime pour faire tourner les applis).
    Donc ma question : si je souhaite utiliser l'automation OLE pour ouvrir mon fichier dbf avec OpenOffice comment faire? Quelle référence ajoutée? et surtout le code va-t-il bcp changer...
    Sinon je peux lancer depuis le poste en question (avec excel) l'ouverture de mon fichier à partir d'un formulaire dans une de mes applis... Il faut juste que je puisse ajouter la référence à Excel (je vais chercher...)
    Merci de m'aider
    Podz

  9. #9
    Membre averti Avatar de mcdotta
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 292
    Points : 324
    Points
    324
    Par défaut
    Sans ajouter aucune référence :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        Dim objExcel As Object
        Set objExcel = CreateObject("Excel.Application")
        With objExcel
            .Workbooks.Open "NomEtcheminFichierOuvrir"
            ......
            .ActiveWorkbook.SaveAs "NomEtcheminFichierDestination"
            .Quit
         End With

    Je ne sais pas si pour ouvrir un fichier DBF l'instruction Workbook.Open ne nécessite pas d'autres arguments, mais pour le savoir, enregistre une macro sous Excel qui simule l'ouverture de ton fichier dbf et l'enregistre.

    Tu n'as qu'a ensuite adapter le code ci-dessus...

    Bon courage

  10. #10
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 148
    Points : 103
    Points
    103
    Par défaut
    Salut
    Merci bcp ça marche... mais (il y a un "mais" bien sur ) : j'ai un message de Microsoft Excel pr enregistrer les modifications et il faut que je clique sur le bouton Non pr que mon nouveau fichier soit bien utilisable. J'ai fait des recherches sur le forum et j'ai essayé avec ce code mais j'ai tjrs cette demande de confirmation d'enregistrement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Dim objExcel As Object
        Set objExcel = CreateObject("Excel.Application")
        With objExcel
            .Workbooks.Open "P:\test_GPAO_Bastien\maj\EURG5CLI.DBF"
            .DisplayAlerts = False
            .ActiveWorkbook.SaveAs "P:\test_GPAO_Bastien\maj\fic_maj\T_Client.dbf"
            .DisplayAlerts = True
            .Quit
         End With
    Podz

  11. #11
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 148
    Points : 103
    Points
    103
    Par défaut
    Oupsss
    je crois que j'avais mal lu le post que j'ai cité. Voici mon code et cela semble etre bon maintenant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
       Dim objExcel As Object
        Set objExcel = CreateObject("Excel.Application")
        With objExcel
            .Workbooks.Open "P:\test_GPAO_Bastien\maj\EURG5CLI.DBF"
            .ActiveWorkbook.SaveAs "P:\test_GPAO_Bastien\maj\fic_maj\T_Client.dbf"
            .DisplayAlerts = False
            .ActiveWorkbook.Close
            .DisplayAlerts = True
            .Quit
         End With
    Merci beaucoup pour votre aide et je tag "résolu" apres avoir fait mes derniers tests (on sait jamais...).
    Podz

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

Discussions similaires

  1. [XL-2007] comment savoir si mon fichier excel est ouvert avec excel en anglais?
    Par nath-0-0 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/05/2010, 15h28
  2. [VBA-Excel] Vider Historique des fichiers ouverts
    Par bonilla dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/09/2006, 14h29
  3. Executer un fichier quelquonque avec Excel
    Par Mut dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/06/2006, 17h54
  4. ouverture de fichier txt avec excel
    Par blondelle dans le forum C++Builder
    Réponses: 5
    Dernier message: 24/05/2006, 11h33
  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