Coller feuille dans classeur fermé

noviceAG

XLDnaute Impliqué
Bonjour aux experts et les autres,
Question insolite n'est-il pas vrai ?
Ou comment coller la copie d'une feuille dans un classeur fermé (nommé Archivage) qui se trouve sur C :/
et dans le dossier : Archivage
En vous remerciant par anticipation
 

noviceAG

XLDnaute Impliqué
Re : Coller feuille dans classeur fermé

Bojour kiki29, le Forum,

Je te remercie pour le lien que tu indiques, mais étant plus que débutant en vba. De plus, il est indiqué :

Que l'exemple montre comment ajouter une nouvelle feuille dans un fichier Excel fermé et y transférer le contenu d'une requête effectuée dans une table Access.

Si tu acceptais de m'indiquer le code modifié afin que je puisse soit :

- Ajouter une feuille Excel dans un classeur Excel (fermé) (nommé Archivage 2008)
ou :
- Ajouter une feuille Excel dans un Dossier (nommé Arch 2008)

Personnellement, j'aurai une préférence pour ce second cas.

En vous remerciant chaleureusement.
 

thomlau

XLDnaute Occasionnel
Re : Coller feuille dans classeur fermé

Bonjour NoviceAG, le forum

Voici une solution, j'espere qu'elle te conviendra.

Code:
Sub Ajouter_Feuille()
Dim FEUIL As Worksheet

Set FEUIL = ThisWorkbook.ActiveSheet

Application.ScreenUpdating = False
Application.DisplayAlerts = False

    ActiveSheet.Select
    Workbooks.Open Filename:="C:\Archivage 2008.xls"
    Windows("Archivage 2008.xls").Activate
    FEUIL.Copy After:=Workbooks("Archivage 2008.xls").Sheets(1)
    ActiveWorkbook.Save
    ActiveWorkbook.Close
    ThisWorkbook.Activate

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

A bientôt
 

thomlau

XLDnaute Occasionnel
Re : Coller feuille dans classeur fermé

Re bonjour à tous

La solution précédente ne faisait que copier une feuille avec ses formules, donc, pas très utile pour un archivage.

La solution ci-dessous ne fait que copier les données et le format de la feuille active.

Code:
Sub Ajouter_Feuille_1()
Dim NOM

NOM = ThisWorkbook.ActiveSheet.Name

Application.ScreenUpdating = False
Application.DisplayAlerts = False

    Cells.Select
    Selection.Copy

    Workbooks.Open Filename:="C:\Archivage 2008.xls"
    Windows("Archivage 2008.xls").Activate
    
    Sheets.Add
    Cells.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    ActiveSheet.Name = NOM
    
    ActiveWorkbook.Save
    ActiveWorkbook.Close
    
    ThisWorkbook.Activate

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

A toi de voir.

++
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 984
Membres
103 998
dernier inscrit
Gotteland