Ciper une feuille vers un fichier

Bonjour,

j'aurai besoin d'aide concernent la copie d'une feuille excel vers un nouveau fichier.

Alors voilà: une feuille "synthèse" qui grâce a plusieurs macro actionnées par un clic sur bouton, extrait, calcul et génère plusieurs listes déroulante à partir de 2 autres feuilles "en-tete" et "detail".

Ce que je souhaiterai c'est archiver cette feuille active"synthèse" (Ou plus exactement les colonnes de A à I) qui est régulièrement renommée de la façon suivante: mois année (ex: mai 2015 pour ce mois), dans un fichier nommé "archive_devis"

J'utilise actuellement la macro suivante:

Sub copie_onglet_actif()

Dim chemin As String
Dim Fdest As String
Dim Fsource As String
Fsource = ActiveWorkbook.Name
chemin = "C:\Users\Filipe\Desktop\"
Fdest = "archive_2015.xlsx"
If Dir(chemin & Fdest) <> "" Then
   Workbooks.Open (chemin & Fdest)
   Workbooks(Fsource).ActiveSheet.Copy after:=ActiveWorkbook.Sheets(Sheets.Count)
   ActiveWorkbook.Close True
Else
MsgBox ("fichier de destination non trouvé")

End If

Mon problème et que pour le moment je copie toute la feuille et non les colonnes de A à I. Et le second problème et que mes listes déroulantes ne s'affichent pas.

Si quelqu'un sait comment résoudre mon problème, ça serait super.

Par contre je ne peux pas joindre de fichier car c'est pour le boulot

Bonjour,

Pour ajouter la plage, tu peux déjà tester ...

Workbooks(Fsource).ActiveSheet.Range("A1:I150").Copy after:=ActiveWorkbook.Sheets(Sheets.Count)

Bonjour,

pourrais-tu m'indiquer où placer cette ligne? je l'ai remplacé par

Workbooks(Fsource).ActiveSheet.Copy after:=ActiveWorkbook.Sheets(Sheets.Count)

mais ça ne fonctionne pas.

de plus j'ai un autre problème. Grâce au code suivant:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
i = 7
a = 1
Do While Cells(i, 3) <> ""
nom = Cells(i, 3)
Sheets(a).Name = nom
i = i + 1
a = a + 1
Loop

End Sub

placé sur ma feuille, elle se renomme automatiquement sous le format "mois année". Mais il semble que ça pose problème lors de la copie parce-que j'ai le message "impossible de renommer feuille comme une autre feuille... par visual basic.

Une idée?

Re,

Concrètement, pour le test ...il faut remplacer l'ancienne ligne :

Workbooks(Fsource).ActiveSheet.Copy after:=ActiveWorkbook.Sheets(Sheets.Count)

par la nouvelle ligne :

Workbooks(Fsource).ActiveSheet.Range("A1:I150").Copy after:=ActiveWorkbook.Sheets(Sheets.Count)

ça ne fonctionne pas

de barros a écrit :

ça ne fonctionne pas

Désolé ... je vais laisser d'autres contributeurs t'aider ...

Rechercher des sujets similaires à "ciper feuille fichier"