Générer un fichier de nom variable

A

alaie

Guest
Bonjour,

Je suis formatrice en bureautiqu et j'ai un petit probleme pour demain :
voila mon stagiaire a besoin d'une macro qui génère un fichier automatiquement (par exemple il est sur 2005.xls, en executant la macro il veut générer 2006.xls, puis en ré-éxecutant la macro 2007.xls et ainsi de suite).

De plus il voudrait que 2006.xls soit identique a 2005.xls, avec juste certains champs remis à blanc. :huh:

Voila vous savez tout. Je suis preneuse de nimporte quelle solution meme approximative!!!

Merci beaucoup d'avoir lu mon message!!!!!
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Alaie, bonjour le forum,

La macro ci-dessous ne fonctionne que si le classeur de départ à un mon convertible en chiffre (2005.xls par exemple), sinon rien ne se passe :

Sub Macro1()
Dim NF As Integer 'déclare la variable NF (Nom Fichier)

ThisWorkbook.Save 'enregistre le classeur actuel
On Error GoTo fin 'si le fichier n'a pas un nom convertible en chiffre
'définit la variable NF (ancien nom converti +1)
NF = CInt(Mid(ThisWorkbook.Name, 1, Len(ThisWorkbook.Name) - 4)) + 1
ThisWorkbook.SaveAs (NF & '.xls') 'enregistre sous NF.xls
ActiveSheet.Range('A1:C1, E1:F1').ClearContents 'supprime le contenu de certaines cellules (à adapter)
fin:
End Sub
 
A

alaie

Guest
;) super!!! ca marche super bien!!!!

maintenant il me reste plus qu'a faire un copier coller special (juste la valeur) d'une cellule vers une autre. et de mettre le fichier ailleurs que dans mes documents. Pour ca je devrait y arriver mais pour le copier coller spécial :eek: ...

Peux tu m'aider??

:kiss:
 
A

alaie

Guest
Bon, voila le fruit de mes recherches... :unsure:

Code:
Sub Macro1()


Dim NF As Integer 'déclare la variable NF (Nom Fichier)

ThisWorkbook.Save 'enregistre le classeur actuel
On Error GoTo fin 'si le fichier n'a pas un nom convertible en chiffre
'définit la variable NF (ancien nom converti +1)
NF = CInt(Mid(ThisWorkbook.Name, 1, Len(ThisWorkbook.Name) - 4)) + 1
ChDir 'C:\\Documents and Settings\\Audrey\\Bureau'
ThisWorkbook.SaveAs (NF & '.xls') 'enregistre sous NF.xls

'********************
Sheets('2005').Cells('A2').Value = Sheets('2005').Cells('L5').Value
'********************

ActiveSheet.Range('B1:B100').ClearContents 'supprime le contenu de certaines cellules (à adapter)

fin:
End Sub

le code que j'ai mit entre les étoiles ne marche pas à savoir que plus rien ne se passe. Il crée bien mon fichier 2006.xls avec les données de 2005.xls mais non seulement il ne copie colle pas mes cellules mais en plus il n'efface plus les cellules!!!
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry