Copie et Sauvegarde de fichier

benoa

XLDnaute Junior
Bonjour,

J'ai un fichier tampon dont je souhaiterais faire une copie, ce fichier tampon est contenu dans un classeur, et la sauvegarde est contenu dans un autre classeur.

Je choisi de copier l'intégralité du fichier tampon, pour cela je stocke en variable la dernière ligne et la dernière colonne non vide. Je sélectionne de la cellule(1,1) jusqu'à la cellule(dernLign, derncolonne), je sélectionne la bonne feuille de sauvegarde, puis je colle le tout en A1.

Voici le code VBA :

Public Sub SauvegardeMensuelle()

Dim CeMois As String
CeMois = ActiveCell.Value

Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row

Dim DernCol As Long
DernCol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column

Dim Selection As Range
Set Selection = Sheets("MOI").Range(Cells(1, 1), Cells(DernLigne, DernCol)).Select


Set MonFichier = GetObject("c:\test.xls")
Set FeuilMoi = MonFichier.Sheets(CeMois)

FeuilMoi.Activate
ActiveSheet.Paste​

End Sub

Après Débogage, il y a une erreur 424, "objet manquent" à la ligne surligner. Avez-vous des idées quant à la résolution du problème?

De plus, est ce que les quatre dernières lignes vous semblent justes?

Merci à tous pour vos suggestions.
 

Pierrot93

XLDnaute Barbatruc
Re : Copie et Sauvegarde de fichier

Bonjour,

"selection" est un mot réservé vba... ne pas l'utiliser comme nom de variable ou de procédure ou autre... essaye comme ceci :
Code:
Dim s As Range
Set s = Sheets("MOI").Range(Cells(1, 1), Cells(DernLigne, DernCol))
bon après midi
@+
 

benoa

XLDnaute Junior
Re : Copie et Sauvegarde de fichier

Ok merci, par contre après pour sélectionner mon autre classeur, j'utilise :

Dim FeuilMoi As Worksheet
Set FeuilMoi = Workbooks("Sauvegarde.xls").Sheets(CeMois)

Le debogage m'indique encore une erreur '9', l'indice n'appartient pas à la sélection, qu'est ce que ça veut dire? N'y aurait il pas un autre moyen utilisant le chemin absolu pour retrouver le bon fichier de sauvegarde?

Cordialement
 

benoa

XLDnaute Junior
Re : Copie et Sauvegarde de fichier

Et au lieu de faire tout ca, ne pourrait-on pas simplifier ainsi? :

Private Sub Sauvegarde()
Var_Chemin = "D:Sauvegarde.xls"
Fichier1 = ActiveWorkbook.Name
Workbooks.Open Var_Chemin, 0, ReadOnly:=False
Fichier2 = ActiveWorkbook.Name
Workbooks(Fichier1).Sheets("Moi").Copy := Workbooks(Fichier2).Sheets("Cemois")​
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Copie et Sauvegarde de fichier

Re,

test tu le verras vite... attention manque un \

Code:
Private Sub Sauvegarde() 
Var_Chemin = "D:\Sauvegarde.xls" 
Fichier1 = ActiveWorkbook.Name 
Workbooks.Open Var_Chemin, 0, ReadOnly:=False 
Fichier2 = ActiveWorkbook.Name 
Workbooks(Fichier1).Sheets("Moi").Copy := Workbooks(Fichier2).Sheets("Cemois") 
End Sub
 

benoa

XLDnaute Junior
Re : Copie et Sauvegarde de fichier

Bon ça ne marche pas. Est ce que vous auriez une idée simple pour sauvegarder un fichier dans un autre classeur déjà existant?

De

fichier = D:\tampon.xls
feuille = Moi

vers

fichier = D\Sauvegarde.xls
feuille = JUIN

Cordialement
 

benoa

XLDnaute Junior
Re : Copie et Sauvegarde de fichier

Très bien, j'utilise donc la première solution, à savoir :

Public Sub ()

Dim CeMois As String
CeMois = ActiveCell.Value

Workbooks("Tampon.xls").Sheets("Moi").Copy _
after:=Workbooks("Sauvegarde.xls").Sheets(CeMois)

End Sub

Erreur '9' : indice n'appartient pas à la sélection (ici en gras)
 

Discussions similaires

Réponses
1
Affichages
194
Réponses
0
Affichages
175

Statistiques des forums

Discussions
312 429
Messages
2 088 351
Membres
103 824
dernier inscrit
frederic.marien@proximus.