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 :

copier/coller un onglet [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Par défaut copier/coller un onglet
    Bonjour,
    Je veux faire une chose toute simple qui est de copier un onglet dans un nouveau fichier excel.

    le soucis c'est que je m'embrouille avec les workbooks et les worksheet du coup mon code n'as vraiment plus de sens.

    Quelqu"un pourrais m'aider a remettre un peu d'odre.


    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    Dim oApp As Excel.Application
    Dim oWSht As Excel.Workbook
    Dim oWSht1 As Excel.Workbook
    Dim ClasseurXLS As Excel.Worksheet
    Dim ClasseurXLS1 As Excel.Worksheet
    Dim chemin As String
    Dim la_date As String
    Dim Fichier_Excel As Object
    Dim NomF_1 As String
    Dim NomF_2 As String
    Dim NomF_3 As String
    Dim chemin_Fichier_Origine As String
     
    Set Fichier_Excel = New Excel.Application
    Set Fichier_Origine = New Excel.Application
     
    chemin = InputBox("Entrez le chemin du ficher à créer")
    la_date = InputBox("Entrez la date de création du fichier : format AAAAMMJJ .")
    chemin_Fichier_Origine = InputBox("Entrez le chemin du ficher d'origine ainsi que le nom")
     
    NomF_1 = chemin & "\" & la_date & "_Actions.xls"
    NomF_2 = chemin & "\" & la_date & "_Risques.xls"
    NomF_3 = chemin & "\" & la_date & "_Decisions.xls"
     
     
    Fichier_Excel.Workbooks.Add
    On Error Resume Next
    Kill "NomF_1"
    On Error GoTo 0
     
    '******* fichier source ***********
    Set oWSht1 = Workbooks.Open(chemin_Fichier_Origine)
    Set ClasseurXLS1 = oWSht1.Worksheets("Journal des risques & alertes")
    oWSht1.Worksheets("Journal des risques & alertes").Activate
     
     
    '******** fichier destination *********
    Fichier_Excel.ActiveWorkbook.SaveAs NomF_1
    Fichier_Excel.ActiveWorkbook.Close
    Set oWSht = Workbooks.Open(NomF_1)
    Set ClasseurXLS = oWSht.Worksheets("Feuil1")
     
     
    If chemin_Fichier_Origine <> "" Then
        oWSht1.Worksheets("Journal des risques & alertes").Select 'ici une erreur me dis que l'indice n'appartient pas a la section
        Selection.Copy
        oWSht.Activate
        'Workbooks(NomF_1).Activate
        'WorksSheets ("Feuil1")
        'Cells.Select
        oWSht.ActiveSheet.Paste
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
     
    End If
     
    Fichier_Excel.ActiveWorkbook.SaveAs NomF_1
    Set Fichier_Excel = Nothing
     
    msgbox ("fini")

  2. #2
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Par défaut
    résolu par moi meme et par mes petits neurones lol !!!


    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     
    Dim oApp As Excel.Application
    Dim oWSht As Excel.Workbook
    Dim oWSht1 As Excel.Workbook
    Dim ClasseurXLS As Excel.Worksheet
    Dim ClasseurXLS1 As Excel.Worksheet
    Dim chemin As String
    Dim la_date As String
    Dim Fichier_Excel As Object
    Dim NomF_1 As String
    Dim NomF_2 As String
    Dim NomF_3 As String
    Dim chemin_Fichier_Origine As String
     
    Set Fichier_Excel = New Excel.Application
    Set Fichier_Origine = New Excel.Application
     
    chemin = InputBox("Entrez le chemin du ficher à créer")
    la_date = InputBox("Entrez la date de création du fichier : format AAAAMMJJ .")
    chemin_Fichier_Origine = InputBox("Entrez le chemin du ficher d'origine ainsi que le nom")
     
    NomF_1 = chemin & "\" & la_date & "_Actions.xls"
    NomF_2 = chemin & "\" & la_date & "_Risques.xls"
    NomF_3 = chemin & "\" & la_date & "_Decisions.xls"
     
     
    Fichier_Excel.Workbooks.Add
    On Error Resume Next
    Kill "NomF_1"
    On Error GoTo 0
     
    '******* fichier source ***********
    Set oWSht1 = Workbooks.Open(chemin_Fichier_Origine)
    Set ClasseurXLS1 = oWSht1.Worksheets("Journal des risques & alertes")
    Sheets("Journal des risques & alertes").Select
    Cells.Select
    Selection.Copy
        '******** fichier destination *********
    Fichier_Excel.ActiveWorkbook.SaveAs NomF_1
    Fichier_Excel.ActiveWorkbook.Close
    Set oWSht = Workbooks.Open(NomF_1)
    Set ClasseurXLS = oWSht.Worksheets("Feuil1")
     
    Sheets("Feuil1").Select
    Cells.Select
    ActiveSheet.Paste

    jsp que sa pourra en aider certains !!

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

Discussions similaires

  1. [XL-2013] Copier coller 2 onglets dans un nouveau classeur
    Par joac33 dans le forum Excel
    Réponses: 7
    Dernier message: 27/03/2015, 11h07
  2. Réponses: 2
    Dernier message: 18/02/2011, 10h58
  3. N'autoriser que le copier-coller par valeur sur un onglet
    Par LentilleLocale dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/11/2008, 23h46
  4. N'autoriser que le copier-coller par valeur sur un onglet
    Par LentilleLocale dans le forum Excel
    Réponses: 3
    Dernier message: 02/11/2008, 14h31

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