Créer des fichiers à partir d'une base de données

  • Initiateur de la discussion Initiateur de la discussion topo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

topo

Guest
Bonjour à tous

j'ai un fichier excel du type 31-03-08_patata.xls et je veux l'enregistrer sous une quarantaine de noms différents qui sont dans un fichiers excel 😕 (mais que je peux mettre où bon vous semble):
par exemple dans mon fichier, j'ai les mots tomate, jamon et piña colada et je veux que dans mon dossier apparaisse donc 4 fichiers :
31-03-08_patata.xls
31-03-08_tomate.xls
31-03-08_jamon.xls
31-03-08_pina colada.xls

sachant que ce qui a dans le fichiers doit rester le même. 😱


merci d'avance !!!

ps: j'adore ce site ......😀
 
Re : Créer des fichiers à partir d'une base de données

bonjour
tomate, jambon et piña colada sont dans la même cellule...ou la même colonne ou la même ligne?

for i=1 to nbligne ou nbcolonne..
nomfich=format(date,"dd-mm-yy") & "_" & cells(i,1).value & ".xls"
activeworkbook save as nomfich
next
Mais n'ayant pas de fichier exemple , ni de précision si les données sont en ligne, en colonne ou aléatoire...

A+ François
 
Re : Créer des fichiers à partir d'une base de données

hello

ton fichier de base contient des mots.
Tu veux créer de nouveaux fichiers désignés par ces mots ?

d'autres que moi pourront t'aider

mais moi je trouve la question étrange, tu veux faire quoi finalement ?

(edit : bonsoir fanfan, tu fais partie de ceux qui savent créer des fichiers à la volée ! super)
 
Re : Créer des fichiers à partir d'une base de données

merci beaucoup pour les réponses
(fanfan, j'ai une erreur sur
activeworkbook save as nomfich
et je sais pas pourquoi ...)

bonjour, désolé pour mon manque de clareté et mon retard dans ma réponse ,

en fait, j'ai un fichier que je dois renommer en 40 exemplaires différents pour le boulot, j'ai donc mon fichier 31-03-08_patata.xls qui est mon fichier de base et la liste de noms dans un fichier excel à partir duquel je dois le renommer.

La date est fixe, je dois garder 31-03-08_ et c juste le mot patata qui doit changer selon la liste dans mon fichier excel. donc, si dans ma liste, j'ai 3 lignes avec tomate, jamon et pina colada, il faut que mon 31-03-08_patata.xls se duplique en 4 exemplaires différents :

31-03-08_patata.xls (qui est mon fichier de base qui ne se supprime pas)
31-03-08_tomate.xls
31-03-08_jamon.xls
31-03-08_pina colada.xls

voilà, cette fois, je suis sur mon poste toute la journée, donc, si je ne suis pas clair, n'hésitez pas à m'envoyer des questions

merci beaucoup
 
Re : Créer des fichiers à partir d'une base de données

sinon, j'ai déjà cette matrice faite par gilbert qui me va très bien pour renommer des fichiers, mais je ne sais pas la modifier pour qu'elle garde l'ancien fichier, et qu'elle trouve le nom dans un fichier excel

Sub renommer_au_30062008()
Dim fic() ' liste des fichiers à l'aide du File Object System (FSO)
Set fso = CreateObject("Scripting.FileSystemObject")
chemin = "C:\Documents and Settings\jbav\Mes Documents\Liasses à transformer" ' chemin à modifier
Set folder = fso.GetFolder(chemin)
Set collfic = folder.Files
tempname = "xxxxx.xxx"
nfic = collfic.Count
ReDim fic(nfic + 1)
n = 0 ' tableau des fichiers du répertoire "Chemin"
For Each curfic In collfic
n = n + 1
fic(n) = curfic.Name
Next ' ajout d'un \ en fin de Chemin
If Right(chemin, 1) <> "\" Then chemin = chemin & "\"
z = 0
For I = 1 To nfic
oldname = fic(I)
Set curfic = fso.GetFile(chemin & oldname)
lowname = LCase(oldname)
' ----- actions sur le nouveau nom de fichier
x = lowname
a = Split(x, "_")
n = Len(a(UBound(a)))
newname = Right(oldname, Len(oldname) - (Len(oldname) - n))
' MsgBox "30-06-2008_" & newname
newname = "30-06-08_" & newname ' mettre la date voulue
' renommer le fichier avec newname si besoin
If newname <> lowname Then
z = z + 1
newfic = chemin & newname
If fso.FileExists(newfic) Then
fso.DeleteFile newfic, True
End If
curfic.Name = tempname
curfic.Name = newname
End If
Next
MsgBox z & " fichiers renommés dans " & chemin, vbOKOnly, "Renommage de fichiers dans " & CurDir
End Sub

si ça peut vous aider ...
 
Re : Créer des fichiers à partir d'une base de données

Bonjour
Tu n'as pas répondu: tomate, jambon et piña colada sont dans la même cellule...ou la même colonne ou la même ligne?
Si tomate etc...en A
derlig=range("a65536").end(xlup).row
for i=1 to derlig
chemin = ActiveWorkbook.Path
If Right(chemin, 1) <> "\" Then chemin = chemin & "\"
nomfich = Format(Date, "dd-mm-yy") & "_" & Cells(i, 1).Value & ".xls"
ActiveWorkbook.SaveAs Filename:=chemin & nomfich
next

A+ François
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour