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

Macros et VBA Excel Discussion :

Exporter Document Excel [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut Exporter Document Excel
    Bonjour,

    j'aimerais savoir si c'est possible sous VBA d'exporter un classeur Excel sans sauvegarder le classeur en cours.

    En gros pas d'"enregistrer" pas d'"enregistrer sous". Une sorte de dupplication du classeur en cours.

    Tout ça dans le but que le client remplisse le formulaire exporte sa feuille et ne puisse pas sauvegarder le classeur en cours.
    Il pourra récupérer les classeurs sauvegardés mais dans un autre nom et dans un autre répertoire.

    Si vous voulez plus d'info ou que je clarifie quelque chose n'hésitez pas.

    Merci,

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Bonjour,

    Essayez d'utiliser la méthode SaveCopyAs

    Extrait de l'aide
    Cette méthode enregistre une copie du classeur dans un fichier sans modifier le classeur ouvert en mémoire.

    expression.SaveCopyAs(Filename)
    expression Obligatoire. Expression qui renvoie un objet Workbook.

    Filename Obligatoire. Spécifie le nom de fichier de la copie.

    Exemple
    Cet exemple montre comment enregistrer une copie du classeur actif.

    ActiveWorkbook.SaveCopyAs "C:\TEMP\XXXX.XLS"

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Alors,

    Le code ne fonctionne pas car il me dit "Impossible d'accéder au document en lecture seul 'Bureau' "
    Cela fait pareil dans d'autre dossier

    Chose que je n'ai jamais trop compris sous Windows la lecture seul...
    Sachant que mon fichier n'est pas en lecture seul...



    J'avais fais une grosse Erreur...

    Ça à l'aire de bien fonctionner je teste encore un peux et je marque résolue

    Merci

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    En utilisant la méthode SaveCopyAs vous copiez absolument tout.
    Si vous ne désirez pas que les macros figurent dans le classeur copié, il faudra faire une autre démarche. Si c'est le cas, dites le moi.

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Pour le moment tout va bien,

    Je n'ai pas encore fait (je sais pas encore faire) Mais la page sera amenée à ne plus pouvoir être modifier par l'utilisateur à part s'il relance le classeur "mère".

    Les options de sécurité seront les mêmes ?

    Par exemple l'utilisateur ne peux pas sauvegarder le fichier. Si je fais un "saveAs" sur le classeur sauvegarder il en pourra toujours pas ?

    je suppose que oui.

    J'attends la réponse mais je pense que vous avez résolu mon problème


    PS: Il faudrait que ca exporte juste la feuille en cours dans un nouveau classeurs, plutot que de sauvegarder tout le classeur.

    Pour le moment j'ai ça :

    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
        'On définit les variables
        Dim ville As String, metier As String, date_enquete As String
        Dim emplacement_fichier As String, NomDossier As String
     
        'Emplacement ou l'on veut enregistrer le fichiers, Si le dossier n'éxiste pas on le créer, _
        Sinon on ne fait que définir l'emplacement ou sera sauvegarder les fichiers Excel
        If Dir(ActiveWorkbook.Path & "\Sauvegarde", vbDirectory) = "" _
        Then MkDir ThisWorkbook.Path & "\Sauvegarde"
        emplacement_fichier = ActiveWorkbook.Path & "\Sauvegarde\"
     
        'On va chercher dans la feuille1 le nom de la ville, _
         du metier et la date du document ; on met le tout en majuscule
        ville = UCase(Sheets("Feuil1").Range("C36").Value)
        metier = UCase(Sheets("Feuil1").Range("C37").Value)
        date_enquete = UCase(Sheets("Feuil1").Range("C38").Value)
     
        'On remplace les / de la date par des -, sinon on ne peux pas sauvegarder _
        / = caractère interdit pour un fichier sous windows
        date_enquete = Replace(date_enquete, "/", "-")
     
        'On sauvegarde le fichier à l'emplacement définit ci dessus puis on renseigne son nom
        ActiveWorkbook.SaveCopyAs emplacement_fichier _
        & ville _
        & "_" & metier _
        & "_" & date_enquete _
        & ".xls"
    Apres dans une autre (futur) macro je vais récupérer les informations disponible sur les feuilles sauvegarder pour les cumuler (ce sont des stats).
    j'ai essayer avec ActiveSheet mais je pense qu'il faut d'abord créer le nouveau classeur puis mettre la feuille...
    J'ai du mal a visualiser les procédures...

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Du coup, j'ai feinté.

    ça marche.

    Merci

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

Discussions similaires

  1. [XL-2010] Macro excel, exporter données excel dans un document word
    Par mika84500 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/04/2013, 14h34
  2. Export vers Excel et saut de ligne dans cellule
    Par sbeu dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 15h53
  3. [CR] Exportation vers Excel
    Par djamel64 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 01/12/2003, 14h52
  4. exportation vers excel
    Par Pm dans le forum XMLRAD
    Réponses: 3
    Dernier message: 24/01/2003, 14h48
  5. [VB6] Savoir depuis VB, si un document Excel est ouvert
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 12/11/2002, 08h16

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