Archivage feuille dans autre classeur

Cefiroth

XLDnaute Nouveau
Bonjour le forum :),

J'ai un petit problème... J'ai un classeur nommé "test" avec une feuille "failles".

J'aimerais que en cliquant sur un bouton cette feuille se copie dans un autre classeur nommé "Archivage" se trouvant dans le même dossier. (j'aimerais que cela fonctionne peu importe où se trouve ces deux classeurs)

Ensuite je voudrais que cette copie prenne le nom d'une cellule de la page du premier classeur "test".

J'ai pas mal recherché sur internet (surement pas assez !) mais sans résultas...

Quelqu'un a une idée ?

Merci d'avance ! :)

Cef
 

Yaloo

XLDnaute Barbatruc
Re : Archivage feuille dans autre classeur

Bonjour Cefiroth,

Peut-être avec ça :

VB:
Sub Copie()
Dim chemin As String, fichier As String
    chemin = ThisWorkbook.Path
    fichier = chemin & "\" & "Archivage.xlsm"
    Workbooks.Open fichier
    Workbooks("Test.xlsm").Sheets("Failles").Copy Before:=Workbooks("Archivage.xlsm").Sheets(1)
    ActiveSheet.Name = Workbooks("Test.xlsm").Sheets("Failles").Range("A1")
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub

A te relire

Yaloo
 

Yaloo

XLDnaute Barbatruc
Re : Archivage feuille dans autre classeur

Re,

J'ai modifié un peu afin d'éviter les erreurs si le fichier "Archivage" n'existe pas ou s'il est déjà ouvert, si la feuille existe déjà :

VB:
Private Sub CommandButton1_Click()
    Application.DisplayAlerts = False
    chemin = ThisWorkbook.Path
    fichier = chemin & "\" & "Archivage.xlsm"
    If Dir(fichier, vbDirectory) = "" Then MsgBox "Le fichier Archivage.xlsm n'existe pas !": Exit Sub
    On Error Resume Next
    Workbooks.Open fichier
    On Error GoTo 0
    b = Workbooks("Test.xlsm").Sheets("Failles").Range("A1")
    For Each F In Sheets
    If F.Name = b Then
    MsgBox "La feuille existe déjà !"
    ActiveWindow.Close
    Exit Sub
    End If
    Next F
    Workbooks("Test.xlsm").Sheets("Failles").Copy _
        Before:=Workbooks("Archivage.xlsm").Sheets(1)
    ActiveSheet.Name = _
        Workbooks("Test.xlsm").Sheets("Failles").Range("A1")
    ActiveWorkbook.Save
    ActiveWindow.Close
    MsgBox "Archivage réalisé"
End Sub

A+
 

Cefiroth

XLDnaute Nouveau
Re : Archivage feuille dans autre classeur

Bonjour Yaloo,

Merci d'avoir pris le temps de répondre à ma question.
Effectivement ça fonctionne sauf au moment de changer le nom de la feuille, ici :

Code:
ActiveSheet.Name = _
        Workbooks("Test.xlsm").Sheets("Failles").Range("A1")

Une idée ?
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 764
dernier inscrit
nissassa