Enregistrer les fichiers crees dans des dossier crees aussi

Signaler
Messages postés
39
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
9 juillet 2012
-
Messages postés
39
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
9 juillet 2012
-
Bonjour le forum!

svp comment puis je enregistrer automatiquement des fichiers que je cree pour enregistrer mes donees dans un dossier pour tous les regrouper?

je sais creer des dossier et des fichiers, mon prblm est que je ne sais pas concatener!
call CreateFolder(Position)

''Cration d'un dossier

 
 Sub CreateFolder(sFolderName) 
 Dim fso        
 Dim fd  ' As Scripting.Folder Dim sFolderName ' As string   
  sFolderName ="C:\script"    
  Set fso = CreateObject("Scripting.FileSystemObject")   
 ' Vrifier que le dossier à creer n'existe pas   
If Not fso.FolderExists(sFolderName) Then       
' Crer le dossier.       
Set fd = fso.CreateFolder(sFolderName)      
MsgBox "Mon dossier " & sFolderName & " a t cr"   
Else      
 MsgBox "Mon dossier " & sFolderName & " existe djà!"  
  End If 
End Sub 
''ceration de mon fichier


Call WriteTextFile(tabsum)


Sub WriteTextFile(tabsum)
    Const MyFile = "C:\script\test1.csv" ''mais je ne peux pas vraiment utiliser ce chemain car mes dossier je les crees avec la date et lheur reelement et donc ils changent tt le temps     Dim objFso, objTextFile
   Set objFso = CreateObject("Scripting.FileSystemObject")
   Set objTextFile = objFso.CreateTextFile(MyFile,True)
   objTextFile.WriteLine Join(tabsum, vbCrLf) 
    objTextFile.Close
   Set objTextFile = Nothing
    Set objFso = Nothing
 End Sub
End Sub


comment enregistrer les fichier dans mon dossier script que je cree avc la date?

10 réponses

Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonjour belouniss

Const PathRoot = "c:\script"

Dim objFso, strFolder
strFolder = PathRoot & Year(Date) & Mid(Date, 4,2) & Left(Date,2) 

Set objFso = CreateObject("Scripting.FileSystemObject") 
If Not objFso.FolderExists(strFolder) Then objFso.CreateFolder(strFolder)



jean-marc
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Bonjour,

Dis-pas que tu ne sais pas concaténer.
Tu le fait déjà dans:

MsgBox "Mon dossier " & sFolderName & " a t cr"

Ou ce n' est ton code ou tu le fais sans le savoir !

Sub WriteTextFile(tabsum)
    Const MyFile = "C:\script\test1.csv" ''mais je ne peux pas vraiment utiliser ce chemain car mes dossier je les crees avec la date et lheur reelement et donc ils changent tt le temps     Dim objFso, objTextFile
   Set objFso = CreateObject("Scripting.FileSystemObject



Utilises donc une variable à la aplace de la constante.




[] Ce qui va sans dire. va mieux en le disant.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Bonjour,
Je ne pratque pas VBS et quelque-chose m'échappe peut-être.
Est-il normal d'avoir l'instruction :
Call WriteTextFile(tabsum)

hors toute procédure, sous VBS ?
et est-il normal d'avoir sous VBS des procédures entières dans une procédure ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Ouais ... pas normal, hein, cet enchevêtrement là
Regardez donc les 2 dernières lignes ==>> il est fort, ce VBS, qui distingue l'une de l'autre ===>> Je vais alors faire une crise de jalousie, c'est sû.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonjour le Forum


Bonjour Jacques,
belouniss nous met des bouts de code.
Toutes ses questions concernent le même script.
Effectivement le dernier "End Sub" est de trop.

Option Explicit
Const cstPathRoot = "D:\SCRIPTS"
Dim objFso, strDate, strFolder
ReDim tabsum(5)  'init tabsum pour test
strDate = Year(Date) & Mid(Date, 4,2) & Left(Date,2) 
strFolder = cstPathRoot & strDate & Chr(92)

Set objFso = CreateObject("Scripting.FileSystemObject") 

Call CreateFolder(strFolder)
Call WriteTextFile(tabsum, strFolder)

Set objFso = Nothing
WScript.Quit
'#########################################################
Function CreateFolder(strFolder)
   If Not objFso.FolderExists(strFolder) Then objFso.CreateFolder(strFolder)
   CreateFolder = strFolder
End Function
'######################################
Sub WriteTextFile(tabsum, strFolder)
   Dim objTextFile, strFileTabSum
   strFileTabSum = strFolder & Year(Date) & Mid(Date, 4,2) & Left(Date,2) & _
                   Replace(Time,Chr(58), vbNullString) & ".csv"
   MsgBox strFileTabSum
   Set objTextFile = objFso.CreateTextFile(strFileTabSum,True)
   objTextFile.WriteLine Join(tabsum, vbCrLf) 
   objTextFile.Close
   Set objTextFile = Nothing
End Sub
'######################################


belouniss , met ton script en entier et nous te le corrigerons.

jean-marc
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Oui, Jean-Marc, mais ...
Ce n'est toujours pas tout...
Dans quelle procédure (avec quel début et quelle fin) s'installent maintenant les lignes qui disent :
strDate = Year(Date) & Mid(Date, 4,2) & Left(Date,2)
strFolder = cstPathRoot & strDate & Chr(92)

Set objFso = CreateObject("Scripting.FileSystemObject")

Call CreateFolder(strFolder)
Call WriteTextFile(tabsum, strFolder)

Set objFso = Nothing
WScript.Quit

?
belouniss nous met des bouts de code.

J'en ai bien évidemment également l'impression
Et en ajoutant qu'il me semble faire des "assemblages" sans même connaître la structure des choses de base.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
39
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
9 juillet 2012

Hoo merci a vous tous! comme l'a dit JMO c'est vraix que je ne mets que des bouts de codes et sorry pour l'incomprehension que ca engendre parfois!
concernant u''cfoutu'' comme je l'ai dejas dis je debute vraiment en VBS et c est vraix que ce n est pas de la tarte pour moi mais je comprends tout de meme les bases c juste que je m exprime assez mal parfois!

Concernant le script je sais dejas creer des dossiers et aussi des fichiers (et ce grace a JMO!)mais ce que je ne trouvais pas c etait comment enregistrer des fichiers dans les dossiers que je creer
Encore une fois grand merci a vous tous!
Messages postés
39
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
9 juillet 2012

le forum merci pour tte votre aide mais j ai tjr un probleme
je veux juste comprendre comment sauvgarder mon fichier dans mon dossier que je viens de creer j'ai juste besoin du chemin c tout
je fait ca:
PositionFile= "C:\script\Deplacement"& myDay  'ca c pr ceer mon dossier cela march tr bien
              ArgFile= "C:\script\Deplacement" & myDay & Monfichier & ".csv" dosn't work!!!!

commet mettre mon fichhier dans mon dossier!!!!
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
rebonjour belouniss



PositionFile= "C:\script\Deplacement"& myDay
ArgFile= PositionFile & chr(92) & Monfichier & ".csv"
msgbox ArgFile

'Chr(92) correspond au ""


jean-marc
Messages postés
39
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
9 juillet 2012

Merci j-m!
c est bizard mon fichier est creer dans C:!! et nbon dans le dossier c est vraiment bizard car avec ce code ca devrait marcher!!