[RESOLU]Créer fichiers .xls (sur base d'un modèle) avec données dans un classeur

cyko_benz

XLDnaute Nouveau
Bonjour,

Je suis presque toujours aussi débutant en VBA :) ; et je souhaiterais créer en masse des fichiers xls (sur base d'un modèle xlt pré-existant) en y insérant des données sources contenues dans un classeur. Les datas sont placées dans le classeur source de tel sorte qu'une ligne corresponde à un fichier à générer.

J'ai placé en annexe deux fichiers exemples : un pour le classeur sources et l'autre pour le fichier modèle (à renommer en xlt).

J'ai trouvé quelques bouts de code qui, mis ensemble, pourrait fonctionner mais j'obtiens une erreur 70 : permission refusée.

Voici le code adapté que j'ai mis dans Feuil1 du classeur source :
Code:
Sub GENERATION()

For Each c In Range("A2:A8")
 
i = c.Row
nom = Cells(i, 1).Value
prenom = Cells(i, 2).Value
Date = Cells(i, 3).Value
nomdefichier = Cells(i, 4).Value
fname = "" & nomdefichier & ".xls"
 
Workbooks.Open Filename:="template.xlt"
With Workbooks("template.xlt").Worksheets("Sheet1")
.Range("B3").Value = nom
.Range("E3").Value = prenom
.Range("H3").Value = Date
End With
 
ActiveWorkbook.SaveAs Filename:=fname
ActiveWorkbook.Close

Next c
End Sub

Merci d'avance pour vos conseils avisés.

Benoît
 

Pièces jointes

  • SOURCES.xls
    23 KB · Affichages: 105
  • SOURCES.xls
    23 KB · Affichages: 111
  • SOURCES.xls
    23 KB · Affichages: 112
  • Template.xls
    13.5 KB · Affichages: 87
  • Template.xls
    13.5 KB · Affichages: 93
  • Template.xls
    13.5 KB · Affichages: 97
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : Générer en masse xls (depuis un xlt) pour chaque ligne dans un classeur source

Bonjour Cykobenz le forum
c'est quoi un template ??
et aussi le titre "Générer en masse.xls" ???
es-tu français?
bonne journée
a+
papou:)
 
Dernière édition:

cyko_benz

XLDnaute Nouveau
Re : Créer fichiers .xls (sur base d'un modèle) avec données dans un classeur source

Bonjour,

Ce topic peut être fermé; j'ai trouvé la solution. Le code fonctionne bien mais il ne faut pas nommer la variable "date". En effet, cela renvoie à la date système et (heureusement :cool:) je n'ai pas les droits Admin sur mon PC donc je peux pas la modifier.

Pour générer les fichiers dans un répertoire déterminé, j'ai également du le préciser dans :
ActiveWorkbook.SaveAs Filename:="C:\full\path\" & fname

J'espère que cela pourrait aider quelqu'un qui voudrait faire quelque chose de semblable ... .

Benoît
 

MJ13

XLDnaute Barbatruc
Re : [RESOLU]Créer fichiers .xls (sur base d'un modèle) avec données dans un classeur

Bonjour Cyko_benz, Papou

En VBA, on ne peut pas donner comme noms à des variables des mot réservés.

Pour savoir si une variable est un mot réservé, on peut taper: Alt+F11 puis F2 puis entrer le mot dans la zone de recherche (ex: date) et voir si il est dans la liste :).

Tiens, encore une bonne astuce ;).
 

Discussions similaires

Statistiques des forums

Discussions
312 370
Messages
2 087 696
Membres
103 642
dernier inscrit
nolem