Probleme de dossier

hamster man Messages postés 103 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 21 juin 2007 - 6 mars 2007 à 15:56
hamster man Messages postés 103 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 21 juin 2007 - 8 mars 2007 à 09:55
Re,

Voila je voudrais verifier si mon dossier est bien créer ou s'il ne l'ai pas. mon souci est que la premiere fois vu qu'il n'est pas créé, tout se passe bien excepter une erreur 340, personnelement je ne la connais pas celle ci...

pour le deuxieme fois vu ke le dossier est créé, il y a l'erreur 75...POURQUOI?????

voici mon code :

  ' Vérifie si le dossier existe déjà
  Set L_ObjFs = CreateObject("Scripting.FileSystemObject")
  L_BoolRet = L_ObjFs.FileExists(G_IntAnneeDossierHebdo)  <<-----je pense que c'est du a ca
  
  ' Si il n'existe pas de dossier on le crée
  If Not L_BoolRet Then
     MkDir (App.Path + "\data" & CStr(G_IntAnneeDossierHebdo) & "")
  End If
 
  ' Déduit le nom du fichier XL avec lequel on va devoir travailler
  G_StrNomFicExcel = "Releve-" + G_StrNomApi + "-" + Mid$(L_StrDateLundi, 7, 4) + Mid$(L_StrDateLundi, 4, 2) + Mid$(L_StrDateLundi, 1, 2) + ".csv"
  G_StrNomCompletFicExcel = App.Path + "\Data" & CStr(G_IntAnneeDossierHebdo) & "" + G_StrNomFicExcel

svp un coup de main(encore...)

10 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 mars 2007 à 16:10
ma réponse va sans aucun doute dépendre de la tienne.
Tu nous dit : "Si il n'existe pas de dossier on le crée"

Mais... quid s'il existe déjà ? que veux-tu faire alors ?
Car si tu souhaites continuer avec lui même s'il existe déjà, il suffit, bien évidemment, d'écrire :

On error resume next
MkDir "machinchouette"
err.clear
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 mars 2007 à 16:11
Salut,
Quel est la description de l'erreur 340?
De plus quelques chose est bizarre car tu teste l'existance de G_IntAnneeDossierHebdo mais tu crees le répertoire App.Path + "\data" & CStr(G_IntAnneeDossierHebdo) & ""

Tout ceci n'est pas logique

@+: Ju£i?n
Pensez: Réponse acceptée
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 mars 2007 à 16:16
Re,
De plus si tu veux tester l'existance d'un repertoire ce n'est pas la function FileExists qu'il faut utiliser mais ForlderExists

Soit:
Dim FolderToCheck As String

   Set L_ObjFs = CreateObject("Scripting.FileSystemObject")
   FolderToCheck = App.Path & "\data\" & CStr(G_IntAnneeDossierHebdo) & "\"
   ' Si il n'existe pas de dossier on le crée
   If Not L_ObjFs.FolderExists(FolderToCheck) Then Call L_ObjFs.CreateFolder(FolderToCheck)
, ----
[code.aspx?ID=41455 By Renfield]

Si tu veux voir tout ce que peux faire le FileSystemObject je te conseille d'ajouter comme référence à ton projet VB6:
Microsoft Scripting Runtime qui te permettra d'utiliser les type FileSystemObject, Folder, File
@+: =89254 Ju£i?n
Pensez: Réponse acceptée
0
hamster man Messages postés 103 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 21 juin 2007
6 mars 2007 à 16:26
merci pour ce petit coup de main a vous deux !

jrivet, tu pense que je devrai ecrire ceci:

  ' Vérifie si le dossier existe déjà
  Set L_ObjFs = CreateObject("Scripting.FolderSystemObject")
  L_BoolRet = L_ObjFs.FileExists(CStr(G_IntAnneeDossierHebdo))  <<--comme ca?
  
  ' Si il n'existe pas de dossier on le crée
  If Not L_BoolRet Then
     MkDir (App.Path + "\data" & CStr(G_IntAnneeDossierHebdo) & "")
  End If
 
  ' Déduit le nom du fichier XL avec lequel on va devoir travailler
  G_StrNomFicExcel = "Releve-" + G_StrNomApi + "-" + Mid$(L_StrDateLundi, 7, 4) + Mid$(L_StrDateLundi, 4, 2) + Mid$(L_StrDateLundi, 1, 2) + ".csv"
  G_StrNomCompletFicExcel = App.Path + "\Data" & CStr(G_IntAnneeDossierHebdo) & "" + G_StrNomFicExcel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 mars 2007 à 16:34
Re
non ce n'est pas ce que je dis as tu lu (testé) mon dernier post?
Essaie de comprendre ce que tu code . tu cherche l'existance d'un dossier (dossier = C:\2007 par exemple) MAIS tu verifie l'existance du FICHIER 2007 (=> d'ailleur pour verifier l'existance d'un fichier il faut passer son chemin COMPLET)
donc déjà je dirais Cf mon post précédent
@+: Ju£i?n
Pensez: Réponse acceptée
0
hamster man Messages postés 103 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 21 juin 2007
6 mars 2007 à 16:44
Autant pour moi, je vois ce que tu veux dire, (d'ailleurs je commence a etre fatiguer) j'aurais du m'apercevoir de cette maladresse par moi meme...

  ' Vérifie si le dossier existe déjà
  Set L_ObjFs = CreateObject("Scripting.FolderSystemObject")
  L_BoolRet = L_ObjFs.FolderExists(App.Path + "\data" & CStr(G_IntAnneeDossierHebdo) & "")  <<--c'est peut etre mieux ?
  
  ' Si il n'existe pas de dossier on le crée
  If Not L_BoolRet Then
     MkDir (App.Path + "\data" & CStr(G_IntAnneeDossierHebdo) & "")
  End If
 
  ' Déduit le nom du fichier XL avec lequel on va devoir travailler
  G_StrNomFicExcel = "Releve-" + G_StrNomApi + "-" + Mid$(L_StrDateLundi, 7, 4) + Mid$(L_StrDateLundi, 4, 2) + Mid$(L_StrDateLundi, 1, 2) + ".csv"
  G_StrNomCompletFicExcel = App.Path + "\Data" & CStr(G_IntAnneeDossierHebdo) & "" + G_StrNomFicExcel

la cela me parait plus convenable...
Maintenant n'étant pas un grand professionnel du basic j'ai toujours un doute
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 mars 2007 à 16:50
SAlut,
As tu essayer ceci alors au final ou pas?

Dim FolderToCheck As String

   Set L_ObjFs = CreateObject( "Scripting.FileSystemObject" )
   FolderToCheck = App.Path & "\data" & CStr(G_IntAnneeDossierHebdo) & ""
   ' Si il n'existe pas de dossier on le crée
   If Not L_ObjFs.FolderExists(FolderToCheck) Then Call L_ObjFs.CreateFolder(FolderToCheck)

@+: Ju£i?n
Pensez: Réponse acceptée
0
hamster man Messages postés 103 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 21 juin 2007
6 mars 2007 à 16:54
j'ai bien retenu ta proposition jrivet d'ailleurs un grand merci a toi et ceux qui chaque jour viennent en aide aux autres.!

je vais tester cela demain car j'ai un peu de mal à gérer ca avec le boulot...
si tu veux je te tiens au courant demain dans la matinée.

d'ici la bonne soirée et a demain
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
6 mars 2007 à 23:33
Et pourquoi ne pas utiliser simplement Dir() ?
Est-ce que le FileSystemObject est bien nécessaire ?

Et regarde ce que te disais JMF... plutôt simple si ça peut te convenir...

MPi
0
hamster man Messages postés 103 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 21 juin 2007
8 mars 2007 à 09:55
Bonjour a tous,

excusez moi pour ce contre temps qui ne m'a pas permit de suivre vos conseils pour mes test d'hier...

je compte refaire un essai avec vos propositions et vous tiens au courant de l'avancement des choses !

bonne journée
0
Rejoignez-nous