Supprimer fichier excel avec macro
Résolu
jah_haile_selassie
Messages postés
60
Date d'inscription
Statut
Membre
Dernière intervention
-
jah_haile_selassie Messages postés 60 Date d'inscription Statut Membre Dernière intervention -
jah_haile_selassie Messages postés 60 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis devenu un inconditionnel du forum comment ça marche? En effet j'ai déjà fait un post ici qui a été resolu. Je dis un merci a tout le forum. Le but c'est que j'ai une macro qui me crèè , copie et sauvegarde mon fichier excel courant dans un repertoire différent et cela toutes les heures. Ce problème a été resolu maintenant j'ai envie de créer une macro qui supprimera automatiquement les fichiers sauvegarder la veille. Cette suppression doit se faire qu'une seule fois dans la journée; J'ai pu trouver une macro qui fonctionne et me supprime le contenu du dossier, car après la sauvegarde du (des) fichier(s) il va falloir faire en sorte que les fichiers ayant quelques jours soient automatiquement détruits. Mais la macro de destruction doit se déclencher une seule fois dans la journée. voic le code ma macro:
Sub SupprContenu()
Dim Fic As String
Fic = Dir("\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\")
Do While Fic <> ""
Kill "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & Fic
Fic = Dir
Loop
End Sub
Elle supprime tout le contenu du dossier mais je ne sait pas comment faire pour l'obliger a se démarrer automatiquement a l'ouverture du fichier excel et une seule fois dans la journée et où la mettre exactement.
Merci pour toutes les bonnes volontés
Je suis devenu un inconditionnel du forum comment ça marche? En effet j'ai déjà fait un post ici qui a été resolu. Je dis un merci a tout le forum. Le but c'est que j'ai une macro qui me crèè , copie et sauvegarde mon fichier excel courant dans un repertoire différent et cela toutes les heures. Ce problème a été resolu maintenant j'ai envie de créer une macro qui supprimera automatiquement les fichiers sauvegarder la veille. Cette suppression doit se faire qu'une seule fois dans la journée; J'ai pu trouver une macro qui fonctionne et me supprime le contenu du dossier, car après la sauvegarde du (des) fichier(s) il va falloir faire en sorte que les fichiers ayant quelques jours soient automatiquement détruits. Mais la macro de destruction doit se déclencher une seule fois dans la journée. voic le code ma macro:
Sub SupprContenu()
Dim Fic As String
Fic = Dir("\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\")
Do While Fic <> ""
Kill "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & Fic
Fic = Dir
Loop
End Sub
Elle supprime tout le contenu du dossier mais je ne sait pas comment faire pour l'obliger a se démarrer automatiquement a l'ouverture du fichier excel et une seule fois dans la journée et où la mettre exactement.
Merci pour toutes les bonnes volontés
A voir également:
- Vba supprimer un fichier
- Supprimer rond bleu whatsapp - Guide
- Fichier bin - Guide
- Impossible de supprimer un fichier - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
44 réponses
autant pour moi... Il faut effectivement tester d'abord l'existence du fichier texte :
If Dir("Chemin & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".txt", vbNormal) = "" Then
fichiertexte = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".txt"
Call auto_open
Call creation
peut être?
If Dir("Chemin & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".txt", vbNormal) = "" Then
fichiertexte = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".txt"
Call auto_open
Call creation
peut être?
Mon post n'était pas pour toi pijaku, ton code faisait bien le test. Par contre la reprise de jah_haile_selassie est erronée.
Mais bon, il semble satisfait ...
Mais bon, il semble satisfait ...
Bonjour Priouman;
C'est vrai que je suis allé trop vite :( en effet mon effacement ne se lance plus! comment faire le test que le fichier texte est créé? et ce fichier lorsque j'indique l'emplacement il n'y est pas!
Merci encore d'éclairer ma lanterne.
Bonne journée a vous
C'est vrai que je suis allé trop vite :( en effet mon effacement ne se lance plus! comment faire le test que le fichier texte est créé? et ce fichier lorsque j'indique l'emplacement il n'y est pas!
Merci encore d'éclairer ma lanterne.
Bonne journée a vous
En plus je pense que j'aurais tjrs le même problème! Parceque mon but n'est pas celui d'effacer tout le contenu du dossier mais une partie du dossier. Exemple supprimer seulement des fichiers contenus dans le dossier qui ont été créé et sauvegarde il y'a par exemple 2 ou3 jours de cela... Et la je bloque.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Pour le test voit mon post n°21.
Pour le choix des fichiers à effacer, donne nous le nom de sauvegarde de tes fichiers.
Pour le test voit mon post n°21.
Pour le choix des fichiers à effacer, donne nous le nom de sauvegarde de tes fichiers.
Bon bon...J'ai fais ceci:
Private Sub Workbook_Open()
Dim Chemin As String
Dim fichierTexte As String
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
If Dir(Chemin & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".txt", vbNormal) = "" Then
fichierTexte = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".txt"
Call auto_open
Call creation
End If
Call creation
End Sub
call creation c'est l'appel de ma procedure de copie et de sauvegarde de fichier excel et call auto_open c'est celle de ma procedure de suppression de fichier. Je fait d'abords un test en créant un fichier texte ayant la date du système comme nom et je verifie s'il existe. ensuite je lance mon effacement et après je lance ma creation. Le blème c'est que mon effacement se lancement plusieurs fois dans la journée alors qu'il devrait se lancer qu'une seule fois!
Quelqu'un a t-il une idée qui marche? et dites moi s'il vous plaît comment ça marche?
Le nom de sauvegarde de mes fichiers sont : test- 9-4-2009 - 10H53m16s.xls Il s'agit juste de la date courante du nom du fichier et de l'heure courante
Je précise que je n'ai aucune erreur de compilation sur ma workbook_open.
Merci
Private Sub Workbook_Open()
Dim Chemin As String
Dim fichierTexte As String
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
If Dir(Chemin & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".txt", vbNormal) = "" Then
fichierTexte = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".txt"
Call auto_open
Call creation
End If
Call creation
End Sub
call creation c'est l'appel de ma procedure de copie et de sauvegarde de fichier excel et call auto_open c'est celle de ma procedure de suppression de fichier. Je fait d'abords un test en créant un fichier texte ayant la date du système comme nom et je verifie s'il existe. ensuite je lance mon effacement et après je lance ma creation. Le blème c'est que mon effacement se lancement plusieurs fois dans la journée alors qu'il devrait se lancer qu'une seule fois!
Quelqu'un a t-il une idée qui marche? et dites moi s'il vous plaît comment ça marche?
Le nom de sauvegarde de mes fichiers sont : test- 9-4-2009 - 10H53m16s.xls Il s'agit juste de la date courante du nom du fichier et de l'heure courante
Je précise que je n'ai aucune erreur de compilation sur ma workbook_open.
Merci
Ton fichier texte ne devrait pas tenir compte de l'heure et des minutes :
fichierTexte = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".txt"
Sinon effectivement le test ne trouve pas le fichier..... car il n'existe pas.
Ensuite pour le choix de l'effacement c'est beaucoup plus difficile. Il faudrait peut être passer par un userform.
fichierTexte = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".txt"
Sinon effectivement le test ne trouve pas le fichier..... car il n'existe pas.
Ensuite pour le choix de l'effacement c'est beaucoup plus difficile. Il faudrait peut être passer par un userform.
Oui justement mais je ne comprends pas pourquoi le fichier n'existe pas? Dois-je l'initialiser avant le if du test?
Dois-je faire ceci ? :--> ActiveWorkbook.Save Filename:=fichierTexte. et Où ?
Dois-je faire ceci ? :--> ActiveWorkbook.Save Filename:=fichierTexte. et Où ?
Non si tu créé un fichier à l'instant T en le nommant : 9-4-2009 11h20m54s.txt. Quand tu va réouvrir ton fichier excel 5 sec plus tard, il va cherche 9-4-2009 11h20m59s.txt et ne le trouvera pas!!!
Pour la suppression de tes fichiers il serait intéressant de les enregistrer d'abord dans un sous dossier à la date du jour. essaie d'ajouter à ta sub creation : mkdir "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & CDate(date)
mkdir créé un nouveau dossier...
ensuite à ta macro auto_open tu ajoutes quelque chose comme ce que je mets en gras :
Dim Fic As String
Dim jour As String
jour = InputBox("saisir la date à laquelle vous souhaitez supprimer les fichiers", "date")
Fic = Dir("\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & jour)
Do While Fic <> ""
Kill "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & Fic
Fic = Dir
Loop
Je ne suis pas sur de moi, et ne sais pas si ça fonctionne mais c'est une piste.
Pour la suppression de tes fichiers il serait intéressant de les enregistrer d'abord dans un sous dossier à la date du jour. essaie d'ajouter à ta sub creation : mkdir "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & CDate(date)
mkdir créé un nouveau dossier...
ensuite à ta macro auto_open tu ajoutes quelque chose comme ce que je mets en gras :
Dim Fic As String
Dim jour As String
jour = InputBox("saisir la date à laquelle vous souhaitez supprimer les fichiers", "date")
Fic = Dir("\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & jour)
Do While Fic <> ""
Kill "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & Fic
Fic = Dir
Loop
Je ne suis pas sur de moi, et ne sais pas si ça fonctionne mais c'est une piste.
Pour la partie lancée à l'ouverture du classeur, voila qui marchera mieux (enfin je crois!)
Private Sub Workbook_Open()
Chemin = "c:\" ' mettre le chemin ou est le fichier à tester
NomFic = CLng(Date) & ".txt" ' nom du fichier CLng transforme la date en numérique Long ça évite les manipulation de chaine
If Dir(Chemin & NomFic) = "" Then 'si le fichier de la date du jour n'existe pas
Set fs = CreateObject("Scripting.FileSystemObject") 'on crée le fichier date du jour
Set a = fs.CreateTextFile(Chemin & NomFic, True)
a.Close
Call auto_open ' on lance l'effacement
End If ' Il n'y a pas de sinon puisque si le fichier existe on ne fait rien
Call creation 'on appelle l'autre proc
End Sub
A+
Private Sub Workbook_Open()
Chemin = "c:\" ' mettre le chemin ou est le fichier à tester
NomFic = CLng(Date) & ".txt" ' nom du fichier CLng transforme la date en numérique Long ça évite les manipulation de chaine
If Dir(Chemin & NomFic) = "" Then 'si le fichier de la date du jour n'existe pas
Set fs = CreateObject("Scripting.FileSystemObject") 'on crée le fichier date du jour
Set a = fs.CreateTextFile(Chemin & NomFic, True)
a.Close
Call auto_open ' on lance l'effacement
End If ' Il n'y a pas de sinon puisque si le fichier existe on ne fait rien
Call creation 'on appelle l'autre proc
End Sub
A+
Vraiment désolé encore mais j'ai une question toute bête ; en faite dans ma procedure creation j'ai une boucle et je ne sais pas où mettre la création du dossier c'est-a-dire--> MkDir "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & CDate(Date).
je le met où? avant ou dant la boucle?
je le met où? avant ou dant la boucle?
comment faire pour que l'efacement se lance une seule fois? étant donné que a l'heure du système ma macro se lance tjrs? alors que je veu juste qu'elle efface une fois et en plus je ne trouve pas mon fichier texte créé. :(
J'ai tenté de créer un dossier de sauvegarde avec mkdir comme pijaku me l'as conseillé mais rien a faire
J'ai tenté de créer un dossier de sauvegarde avec mkdir comme pijaku me l'as conseillé mais rien a faire
Private Sub Workbook_Open()
Dim Chemin As String
Dim fichierTexte As String
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
NomFic = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".txt"
If Dir(Chemin & NomFic) = "" Then 'si le fichier de la date du jour n'existe pas
Call auto_open ' on lance l'effacement
Set fs = CreateObject("Scripting.FileSystemObject") 'on crée le fichier date du jour
Set a = fs.CreateTextFile(Chemin & NomFic, True)
a.Close
Call creation 'on appelle l'autre proc
End If ' Il n'y a pas de sinon puisque si le fichier existe on ne fait rien
Call creation 'on appelle l'autre proc
End Sub
Voici ce que j'ai fait et j'arrive a lancer une seule fois mon effacement et créer mon fichier texte nommé avec la date courante Trop content!!! en tout cas comment ça marche et vous les mecs c'est de la bombe!!!!
Bon j'ai toujours le problème de choisir par exemple uniquement les fichiers copiés et sauvégardés il y'a a peu près 2 ou 3 jours? Aidez moi
Dim Chemin As String
Dim fichierTexte As String
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
NomFic = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".txt"
If Dir(Chemin & NomFic) = "" Then 'si le fichier de la date du jour n'existe pas
Call auto_open ' on lance l'effacement
Set fs = CreateObject("Scripting.FileSystemObject") 'on crée le fichier date du jour
Set a = fs.CreateTextFile(Chemin & NomFic, True)
a.Close
Call creation 'on appelle l'autre proc
End If ' Il n'y a pas de sinon puisque si le fichier existe on ne fait rien
Call creation 'on appelle l'autre proc
End Sub
Voici ce que j'ai fait et j'arrive a lancer une seule fois mon effacement et créer mon fichier texte nommé avec la date courante Trop content!!! en tout cas comment ça marche et vous les mecs c'est de la bombe!!!!
Bon j'ai toujours le problème de choisir par exemple uniquement les fichiers copiés et sauvégardés il y'a a peu près 2 ou 3 jours? Aidez moi
pour "choisir" les fichiers à effacer, tu ajoutes une inputbox dans ta sub "effacement". Du style :
dim jour as string
jour = inputbox("saisir la date des fichiers à effacer. Attention au format!!!","effacer")
et après ça tu efface le contenu du sous-dossier dont le nom correspond à la date que tu as saisi
dim jour as string
jour = inputbox("saisir la date des fichiers à effacer. Attention au format!!!","effacer")
et après ça tu efface le contenu du sous-dossier dont le nom correspond à la date que tu as saisi
Bonjour Pijaku, et merci encore pour la patience!!!
N y'a-t-il pas une solution sans que l'utilisateur ne soit appelé a saisir la date? :( Et en plus je voulais savoir c'est sur qu'elle format la date? ce format ci ----> 10-4-2009? Et---->"effacer" fait référence a quoi? . Et en plus je n'ai qu'un seul dossier de sauvegarde je veux juste effacer certains fichiers qui sont dans un même dossier mais en fonction de la date.
Merci encore et j'espères que je suis claire dans mes questions.
Bonne journée.
N y'a-t-il pas une solution sans que l'utilisateur ne soit appelé a saisir la date? :( Et en plus je voulais savoir c'est sur qu'elle format la date? ce format ci ----> 10-4-2009? Et---->"effacer" fait référence a quoi? . Et en plus je n'ai qu'un seul dossier de sauvegarde je veux juste effacer certains fichiers qui sont dans un même dossier mais en fonction de la date.
Merci encore et j'espères que je suis claire dans mes questions.
Bonne journée.
Bonjour,
Non à ta question. La saisie de date est inévitable car tu veux supprimer les fichiers enregistrés il y a 3 jours ou 2 jours, ça n'est pas fixe. C'est pourquoi initialement, je te proposais de créer un sous-dossier à la date du jour (au format 10-4-2009 si tu veux), pour pouvoir supprimer simplement son contenu quand tu le souhaites (format 10-4-2009 pour répondre à ta 2ème interrogation).
Non à ta question. La saisie de date est inévitable car tu veux supprimer les fichiers enregistrés il y a 3 jours ou 2 jours, ça n'est pas fixe. C'est pourquoi initialement, je te proposais de créer un sous-dossier à la date du jour (au format 10-4-2009 si tu veux), pour pouvoir supprimer simplement son contenu quand tu le souhaites (format 10-4-2009 pour répondre à ta 2ème interrogation).
Oui mais pour les rendre fixes on peut par exemple supprimer des fichiers sauvegarder il y'a 2 jours. Par exemple si j'ai fait mes sauvegardes lundi alors je les supprime le mercredi. ça c'est possible ou pas?
Et voici ce que j'ai rajouter sur ma proc d'effacement:
Sub auto_open()
Dim Fic As String
Dim Jour As String
Jour = InputBox("saisir la date à laquelle vous souhaitez supprimer les fichiers", "date")
Fic = Dir("\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & Jour)
Do While Fic <> ""
Kill "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & Fic & Jour
Fic = Dir
Loop
End Sub
J'ai mis ma question comme tu me l'as conseillé et dans ma création j'ai fait ceci:
Sub creation()
Dim Chemin As String
Dim fname As String
MkDir "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & CDate(Date)
debut:
Start = Timer
intervalle = 60
Do While Timer < Start + intervalle
DoEvents ' Donne le contrôle à d'autres processus.
Loop
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
fname = Chemin & "test- " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".xls"
ActiveWorkbook.SaveCopyAs Filename:=fname
GoTo debut
End Sub
Mais J'ai une erreur sur MkDir on me dit chemin introuvable. Peut-être que je fais mal ma création de dossier. Et pourtant mon chemin me semble correcte
:(
Et voici ce que j'ai rajouter sur ma proc d'effacement:
Sub auto_open()
Dim Fic As String
Dim Jour As String
Jour = InputBox("saisir la date à laquelle vous souhaitez supprimer les fichiers", "date")
Fic = Dir("\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & Jour)
Do While Fic <> ""
Kill "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & Fic & Jour
Fic = Dir
Loop
End Sub
J'ai mis ma question comme tu me l'as conseillé et dans ma création j'ai fait ceci:
Sub creation()
Dim Chemin As String
Dim fname As String
MkDir "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & CDate(Date)
debut:
Start = Timer
intervalle = 60
Do While Timer < Start + intervalle
DoEvents ' Donne le contrôle à d'autres processus.
Loop
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
fname = Chemin & "test- " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".xls"
ActiveWorkbook.SaveCopyAs Filename:=fname
GoTo debut
End Sub
Mais J'ai une erreur sur MkDir on me dit chemin introuvable. Peut-être que je fais mal ma création de dossier. Et pourtant mon chemin me semble correcte
:(
Dur dur!!!
Effectivement : MkDir chemin introuvable.... Après recherches... voilà pourquoi :
c'est le format de CDate(Date) qui ne convient pas!!! en effet, il ne veux pas créer un sous-dossier nommé 10/04/2009, les slash le gènent... Alors la solution est :
Dim jour As String
jour = Format(Date, "dd_mm_yyyy")
MkDir "Ton chemin complet\" & jour
Effectivement : MkDir chemin introuvable.... Après recherches... voilà pourquoi :
c'est le format de CDate(Date) qui ne convient pas!!! en effet, il ne veux pas créer un sous-dossier nommé 10/04/2009, les slash le gènent... Alors la solution est :
Dim jour As String
jour = Format(Date, "dd_mm_yyyy")
MkDir "Ton chemin complet\" & jour
Oui Dur pour moi comme tu le dit!
Avec les modification apporter il me crèe le dossier nommé par la date courante mais il ne me pose pas la question de savoir a quel date je veux supprimer mes fichiers; Ce qui est normale vu ke tu m'a conseillé de mettre ceci--->jour = Format(Date, "dd_mm_yyyy") au lieu de ceci---->Jour = InputBox("saisir la date à laquelle vous souhaitez supprimer les fichiers", "date")?
En plus il ne me crèè pas mes fichiers de sauvegarde dans le dossier nommé avec la date courante: voici le code que j'ai:
------------------------Dans ma procedure de creation--------------------------------------
Sub creation()
Dim Chemin As String
Dim fname As String
Dim jour As String
jour = Format(Date, "dd_mm_yyyy")
MkDir "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & jour
debut:
Start = Timer
intervalle = 60
Do While Timer < Start + intervalle
DoEvents ' Donne le contrôle à d'autres processus.
Loop
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
fname = Chemin & "test- " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".xls"
ActiveWorkbook.SaveCopyAs Filename:=fname
GoTo debut
End Sub
----------------------Dans ma procedure d'effacement-----------------------------------
Sub auto_open()
Dim Fic As String
Dim jour As String
jour = Format(Date, "dd_mm_yyyy")
Fic = Dir("\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & jour)
Do While Fic <> ""
Kill "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & Fic & jour
Fic = Dir
Loop
End Sub
En plus mon effacement des fichiers ne fonctionne plus :(
-------------
Je sais que c'est dur mais j'ai vraiment besoin d'un gros coup de pouce.
Avec les modification apporter il me crèe le dossier nommé par la date courante mais il ne me pose pas la question de savoir a quel date je veux supprimer mes fichiers; Ce qui est normale vu ke tu m'a conseillé de mettre ceci--->jour = Format(Date, "dd_mm_yyyy") au lieu de ceci---->Jour = InputBox("saisir la date à laquelle vous souhaitez supprimer les fichiers", "date")?
En plus il ne me crèè pas mes fichiers de sauvegarde dans le dossier nommé avec la date courante: voici le code que j'ai:
------------------------Dans ma procedure de creation--------------------------------------
Sub creation()
Dim Chemin As String
Dim fname As String
Dim jour As String
jour = Format(Date, "dd_mm_yyyy")
MkDir "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & jour
debut:
Start = Timer
intervalle = 60
Do While Timer < Start + intervalle
DoEvents ' Donne le contrôle à d'autres processus.
Loop
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
fname = Chemin & "test- " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".xls"
ActiveWorkbook.SaveCopyAs Filename:=fname
GoTo debut
End Sub
----------------------Dans ma procedure d'effacement-----------------------------------
Sub auto_open()
Dim Fic As String
Dim jour As String
jour = Format(Date, "dd_mm_yyyy")
Fic = Dir("\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & jour)
Do While Fic <> ""
Kill "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & Fic & jour
Fic = Dir
Loop
End Sub
En plus mon effacement des fichiers ne fonctionne plus :(
-------------
Je sais que c'est dur mais j'ai vraiment besoin d'un gros coup de pouce.
je te propose de refaire le code en entier pour que cela fonctionne. Peux tu me remettre tout ton code ici.
1- ton workbook_open
2- ta sub creation
3- ta sub auto_open (effacement)
et je vais te bricoler un truc qui fonctionne.
1- ton workbook_open
2- ta sub creation
3- ta sub auto_open (effacement)
et je vais te bricoler un truc qui fonctionne.
Pas la peine de remettre le code... Il y est déjà 3 ou 4 fois...
Essaye ceci :
Sub creation()
Dim Chemin As String
Dim fname As String
Dim jour As String
jour = Format(Date, "dd_mm_yyyy")
MkDir "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & jour
debut:
Start = Timer
intervalle = 60
Do While Timer < Start + intervalle
DoEvents ' Donne le contrôle à d'autres processus.
Loop
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
fname = Chemin & "test- " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".xls"
ActiveWorkbook.SaveCopyAs FileName:=fname
GoTo debut
End Sub
Sub auto_open()
Dim var, Fic As String
var = InputBox("Saisir la date à laquelle vous souhaitez effacer les fichiers. Attention bien saisir au format dd_mm_yyyy!!", "date d'effacement")
Fic = Dir("\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & var)
If Fic <> "" Then
Kill "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & Fic
Else
MsgBox ("le sous-dossier que vous souhaitez effacer est vide. Veuillez vérifier.")
End If
End Sub
Private Sub Workbook_Open()
Dim Chemin As String
Dim fichierTexte As String
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
NomFic = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".txt"
If Dir(Chemin & NomFic) = "" Then 'si le fichier de la date du jour n'existe pas
Call auto_open ' on lance l'effacement
Set fs = CreateObject("Scripting.FileSystemObject") 'on crée le fichier date du jour
Set a = fs.CreateTextFile(Chemin & NomFic, True)
a.Close
Call creation 'on appelle l'autre proc
End If ' Il n'y a pas de sinon puisque si le fichier existe on ne fait rien
Call creation 'on appelle l'autre proc
End Sub
Essaye ceci :
Sub creation()
Dim Chemin As String
Dim fname As String
Dim jour As String
jour = Format(Date, "dd_mm_yyyy")
MkDir "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & jour
debut:
Start = Timer
intervalle = 60
Do While Timer < Start + intervalle
DoEvents ' Donne le contrôle à d'autres processus.
Loop
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
fname = Chemin & "test- " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".xls"
ActiveWorkbook.SaveCopyAs FileName:=fname
GoTo debut
End Sub
Sub auto_open()
Dim var, Fic As String
var = InputBox("Saisir la date à laquelle vous souhaitez effacer les fichiers. Attention bien saisir au format dd_mm_yyyy!!", "date d'effacement")
Fic = Dir("\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & var)
If Fic <> "" Then
Kill "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & Fic
Else
MsgBox ("le sous-dossier que vous souhaitez effacer est vide. Veuillez vérifier.")
End If
End Sub
Private Sub Workbook_Open()
Dim Chemin As String
Dim fichierTexte As String
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
NomFic = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".txt"
If Dir(Chemin & NomFic) = "" Then 'si le fichier de la date du jour n'existe pas
Call auto_open ' on lance l'effacement
Set fs = CreateObject("Scripting.FileSystemObject") 'on crée le fichier date du jour
Set a = fs.CreateTextFile(Chemin & NomFic, True)
a.Close
Call creation 'on appelle l'autre proc
End If ' Il n'y a pas de sinon puisque si le fichier existe on ne fait rien
Call creation 'on appelle l'autre proc
End Sub
Et normalement quand ça crèèe le dossier ça doit créé aussi les fichiers dedans non? Mais non ça ne me crèè rien dedans.
Fectivement!!!
Regardes ta sub creation :
tu créés un répertoire : MkDir "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & jour
et tu enregistres sous :
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
fname = Chemin & "test- " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".xls"
ActiveWorkbook.SaveCopyAs FileName:=fname
Il convient donc d'ajouter au Chemin : & jour
Regardes ta sub creation :
tu créés un répertoire : MkDir "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\" & jour
et tu enregistres sous :
Chemin = "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel\"
fname = Chemin & "test- " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".xls"
ActiveWorkbook.SaveCopyAs FileName:=fname
Il convient donc d'ajouter au Chemin : & jour