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 :

[VBA] Copy WorkSheet vers un autre Workbook


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 27
    Points : 21
    Points
    21
    Par défaut [VBA] Copy WorkSheet vers un autre Workbook
    Bonjour,

    Je cherche à copier une worksheet provenant d'un fichier template vers un nouveau workbook.

    J'effectue les étapes suivantes
    1) creation du nouveau workbook (sans le sauvegarder)
    2) Appelle de la fonction de copy du worksheet source vers le workbook de destination.

    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
     
    'Creation du Workbook de destination
    Set appExcel = CreateObject("Excel.Application")
    appExcel.SheetsInNewWorkbook = 1
    Set wbExcel = appExcel.Workbooks.Add
    appExcel.Visible = True
     
    'Ouverture du Fichier template
    Set appExcelSrc = CreateObject("Excel.Application")
    Set wbExcelSrc= appExcelSrc.Workbooks.Open(MyPath)
    Set wsExcelSrc= wbExcelSrc.Worksheets("Sheet1")
     
     
    'copy du template source vers le fichier de destination
    wsExcelSrc.Copy Before:=wbExcel.Worksheets(1)
    ->J'obtiens l'erreur suivante Application-Defined or Object-Defined error


    merci d'avance pour votre aide.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 27
    Points : 21
    Points
    21
    Par défaut
    J'ai remarqué que si le fichier de destination existe physiquement (sauvegardé au préalable) le code fonctionne.

    le principe est le suivant
    1) Creation du fichier de destination
    2) Sauvegarde du Fichier
    3) ouverture du fichier template
    4) ouverture du fichier de destination
    5) copie de la feuille template vers le fichier de destination.

    Cependant cela effectue trop d'accès disques
    C'est pourquoi je ne souhaite pas sauvegarder le fichier de destination avant l'export de la feuille excel.

    Est ce quelqu'un aurait une idée pour éviter cette sauvegarde?

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 926
    Points
    55 926
    Billets dans le blog
    131
    Par défaut
    Bonsoir

    Un simple
    suffit pour que Excel copie la feuille dont le nom d'onglet est renseigné vers un nouveau classeur qui devient le classeur actif.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Sheets("Feuil1").Copy
        ActiveWorkbook.SaveAs "d:\données\copie Feuille.xls"
    copie Feuil1 dans un nouveau classeur et le sauve sous le nom renseigné.

    Ok?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. Copie en tête avec logo vers un autre workbook
    Par Poumchimie dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 25/01/2013, 10h57
  2. copie classeur vers un autre
    Par dianbobo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/07/2010, 00h09
  3. [XL-2000] Modifier une macro qui copie/colle vers une autre feuille
    Par wyzer dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/04/2010, 23h02
  4. formule lors de la copie d'une feuille vers un autre workbook
    Par thecancre dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/03/2008, 09h50
  5. Copie table vers une autre et ajout d'autres champs
    Par oxygen240 dans le forum Requêtes
    Réponses: 2
    Dernier message: 23/02/2008, 22h45

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