Archivage feuille dans autre classeur

  • Initiateur de la discussion Initiateur de la discussion Cefiroth
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

Cefiroth

Guest
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
 
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
 
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+
 
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 ?
 
Re : Archivage feuille dans autre classeur

En fait je pense avoir la solution.
Le problème venait du fait qu'il manquait .value après "range("A1"), ainsi que du fait que le nom faisait plus de 31 caractères.

Merci pour ton aide !

Cef 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Classeur Disparu
Réponses
2
Affichages
571
Retour