Copier un onglet d'un fichier a un autre

Bonjour,

J'ai pour problème:

Je prend un fichier A ou j'ai qu'un onglet avec le nom de cet onglet qui varie.

je prend cet onglet et je le copie/colle dans mon fichier B ( thisworkbook) avant l'onglet ("Data")

Je test avec ça mais ça ne fonctionne pas et je ne sais pas pourquoi. je trouve ça sympa de passer par l'openfiledialog.

Si quel'qu'un à une petite idée... Merci d'avance.

Sub UseFileDialogOpen()

    Dim lngCount As Long
    Dim Var_Chemin$, Nomfeuille$, appExcel As Excel.Application

    ' Open the file dialog
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = True
        .Show

        ' Display paths of each file selected
        For lngCount = 1 To .SelectedItems.Count
            Var_Chemin = .SelectedItems(lngCount)
        Next lngCount
    End With

Set appExcel = CreateObject(“Excel.Application”)
Set wbExcel = appExcel.Workbooks.Open(Filename:=Var_Chemin)
Nomfeuille = appExcel.Sheets(1).Name
appExcel.Sheets(Nomfeuille).Copy Before:=thisWorkbooks.Sheets("Data")
wbExcel.Close
Set wbExcel = Nothing

End Sub

Bonjour Naubin, bonjour le forum,

Pour un seul classeur j'aurais écrit comme ça :

Sub UseFileDialogOpen()
Dim CD As Workbook
Dim FD As FileDialog
Dim CS As Workbook
Dim OS As Worksheet

Set CD = ThisWorkbook
Set FD = Application.FileDialog(msoFileDialogOpen)
    FD.AllowMultiSelect = False
    FD.Show
If FD.SelectedItems.Count > 0 Then
    Set CS = Workbooks.Open(FD.SelectedItems(1))
    Set OS = CS.Worksheets(1)
    OS.Copy Before:=CD.Sheets("Data")
    CS.Close
End If
End Sub

Salut, Tu es une machine merci !

tu aurais une idée pour renommer l'onglet qui a été copié en même temps ?

Re,

J'ai... :

Sub UseFileDialogOpen()
Dim CD As Workbook
Dim FD As FileDialog
Dim CS As Workbook
Dim OS As Worksheet

Set CD = ThisWorkbook
Set FD = Application.FileDialog(msoFileDialogOpen)
    FD.AllowMultiSelect = False
    FD.Show
If FD.SelectedItems.Count > 0 Then
    Set CS = Workbooks.Open(FD.SelectedItems(1))
    Set OS = CS.Worksheets(1)
    OS.Copy Before:=CD.Sheets("Data")
    OD.ActiveSheet.Name = "toto"
    CS.Close
    CD.Save
End If
End Sub
Rechercher des sujets similaires à "copier onglet fichier"