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 :

Créer fichier excel


Sujet :

VBA Access

  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Points : 127
    Points
    127
    Par défaut Créer fichier excel
    Rebonjour à tous,

    Ma question est très simple mais je cherche depuis 1H et impossible de le faire proprement.

    Je cherche simplement à créer un fichier excel, jusque la c'est simple mais je souhaite le placer ou je veux exemple "Mes documents"

    Voci mon code pour l'instant mais il ne fonctionne pas correctement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var = "C:\Documents and Settings\" & Userlogin & "\My Documents\Import\Excel\Rapport_Dep_" & cmb_dep.Column(1, w) & "_" & supda
    Set xlApp = New Excel.Application
    Set classeur = xlApp.Workbooks.Add
    xlApp.Application.ActiveWorkbook.SaveAs Filename:=var
    xlApp.Quit
    Pourriez-vous me dépanner.

    D'avance merci

    Benjisan

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 172
    Points : 100
    Points
    100
    Par défaut
    Essaies ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var = "C:\Documents and Settings\'" & Userlogin & "'\My Documents\Import\Excel\Rapport_Dep_'" & cmb_dep.Column(1, w) & "'_" & supda
    Set xlApp = New Excel.Application
    Set classeur = xlApp.Workbooks.Add
    xlApp.Application.ActiveWorkbook.SaveAs Filename:=var
    xlApp.Quit

  3. #3
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Points : 127
    Points
    127
    Par défaut Merci pour ta réponse
    Merci pour ta réponse aba_tarn,

    Mais je ne vois pas ce que tu as changé à mon code de départ !!

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

    A priori ton Add n'est pas complet, voici tiré de l'aide Excel :
    Add, méthode (collection Workbooks)


    Crée un nouveau classeur qui devient le classeur actif. Renvoie un objet Workbook.

    Syntaxe

    expression.Add(Template)

    expression Obligatoire. Expression qui renvoie un objet Workbooks.

    Template Argument de type Variant Facultatif. Détermine la façon dont le nouveau classeur est créé. Si cet argument est une chaîne spécifiant le nom d'un fichier Microsoft Excel existant, le nouveau classeur est créé sur le modèle du fichier spécifié. Si cet argument est une constante, le nouveau classeur contient une seule feuille du type spécifié. Il peut s'agir de l'une des constantes XlWBATemplate suivantes : xlWBATChart, xlWBATExcel4IntlMacroSheet, xlWBATExcel4MacroSheet, ou xlWBATWorksheet. Si vous n'avez pas spécifié cet argument, Microsoft Excel crée un nouveau classeur avec plusieurs feuilles blanches (le nombre est établi par la propriété SheetsInNewWorkbook).

    Remarque

    Si l'argument Template spécifie un fichier, le nom de fichier peut inclure un chemin d'accès
    Starec

  5. #5
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Points : 127
    Points
    127
    Par défaut Mille excuse
    Désolé pour ma réponse précédente, j'ai vu ce que tu as changé, mais var est une variable, donc il ne faut pas les ' '.
    Mais ton écriture est par contre valable dans une requête

  6. #6
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Points : 127
    Points
    127
    Par défaut Merci pour l'info
    Merci pour l'info starec, mais j'ai déjà fais un petit tour dans l'aide également et j'ai déjà essayé mais malheureusement, cela ne fonctionne pas.

  7. #7
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Bonsoir,
    Citation Envoyé par benjisan
    Merci pour ta réponse aba_tarn,

    Mais je ne vois pas ce que tu as changé à mon code de départ !!
    Les apostrophes! aba_tarn a ajouté des apostrophes!
    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi!
    Albert Einstein

  8. #8
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Points : 127
    Points
    127
    Par défaut Oui j'ai vu
    Je sais Mahefasoa

    Désolé pour ma réponse précédente, j'ai vu ce que tu as changé, mais var est une variable, donc il ne faut pas les ' '.
    Mais ton écriture est par contre valable dans une requête

  9. #9
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Re,
    Désolé pour le post précédent car je ne savais pas que ça été répondu.
    Sinon, le code suivant enregistre le document à l'endroit où je veux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        Dim xls As New Excel.Application
        xls.Workbooks.Add
        xls.Visible = False
        xls.ActiveWorkbook.SaveAs "c:\exemple.xls"
        xls.Quit
    Et si je l'adapte à ton code, cela devrait donner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var = "C:\Documents and Settings\" & Userlogin & "\My Documents\Import\Excel\Rapport_Dep_'" & cmb_dep.Column(1, w) & "'_" & supda
    Dim xlApp As New Excel.Application
    xlApp.Workbooks.Add
    xlApp.Visible = False
    xlApp.ActiveWorkbook.SaveAs var
    xlApp.Quit
    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi!
    Albert Einstein

  10. #10
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Points : 127
    Points
    127
    Par défaut Super merci Mahefasoa
    Merci beaucoup, je vais tester ton code dès demain matin

    Bonne soirée à tous

    Benjisan

  11. #11
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 758
    Points : 2 995
    Points
    2 995
    Par défaut
    Bonjour

    Un détail : est-ce que sous Vista le profile de l'utilisateur est toujours dans le folder "C:\Documents and settings" ?

    Si tu veux stocker ton fichier dans le folder My Documents, tu es vraiment mieux d'utiliser les API de Windows pour retrouver les noms des folders spéciaux.

    Va faire un tour du côté de l'API apiSHGetSpecialFolderLocation avec utilisation de la constante CSIDL_COMMON_DOCUMENTS

    Christophe.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  12. #12
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Points : 127
    Points
    127
    Par défaut Merci pour vos réponses
    Merci à tous pour vos réponse mais j'ai quand même toujours une petit problème.

    Il crée bien mes fichiers dans C:\Documents and Settings\......\My Documents\Import\Excel mais il crée aussi certains fichiers vierge dans C:\Documents and Settings\......\My Documents.

    Maintenant comme sugére cavo789, je peux passer par les api's mais je n'ai aucune connaissance à ce niveau, j'ai déjà utilisez les api pour afficher la boite de dialogue mais pas pour créer un fichier !!!!

    Encore merci pour vos coups de mains

    Benjisan

  13. #13
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Bonjour,
    L'api proposé par cavo789 ne te permet pas de créer un fichier mais de pouvoir retrouver le chemin d'accès de du dossier Mes documents (celui qui correspond à ton profil).
    Le résultat que tu obtiens est assez bizare car je me demande pourquoi il crée d'autre fichier dans un dossier parent du dossier de destination.
    Peux-tu poster le code?
    Bon courage et @+
    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi!
    Albert Einstein

  14. #14
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2007
    Messages : 258
    Points : 127
    Points
    127
    Par défaut Merci Mahefasoa
    Merci pour ta réponse Mahefasoa,

    C'est de ma faute, j'avais copié le code avec les apostrophes et donc je ne sais pour quelle raison, il placait les fichiers au 2 endroits.

    C'était très bizzare, mais le problème est résolu et tout fonctionne correctement.

    Encore merci à tous

    A bientôt

    Benjisan

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

Discussions similaires

  1. Créer fichier Excel à partir des données d'un autre
    Par Pimon07 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 02/03/2015, 16h43
  2. [AC-2010] Créer fichier Excel protégé en lecture seule
    Par DYV007 dans le forum VBA Access
    Réponses: 5
    Dernier message: 25/04/2013, 11h06
  3. [Toutes versions] créer fichier excel
    Par rayen07 dans le forum Excel
    Réponses: 1
    Dernier message: 08/07/2012, 12h19
  4. [VB6]créer un fichier excel
    Par arakna dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 24/02/2006, 15h09
  5. Créer un champ en fonction d'un fichier excel
    Par nberthonneau dans le forum Access
    Réponses: 8
    Dernier message: 03/11/2004, 18h02

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