Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

trouver un répertoire variable et l'effacer (vba + date ?)

3 réponses
Avatar
SylVBA
Bonsoir =E0 vous,

Pas simple =E0 expliquer........

Sur un support amovible, je fais des sauvegardes avec une fonction qui
copie tous mon r=E9pertoire principal + sous r=E9pertoire.

A la fin de la proc, je nomme le r=E9pertoire de la sauvegarde en
VBAcomme ceci :

"Sauvegarde du " & Date tout fonctionne parfaitement

La semaine suivante, ou un autre jour, je souhaite faire une autre
sauvegarde :

Cr=E9er un dossier avec la date du jour, comme d=E9j=E0 fait, mais quand la
sauvegarde est termin=E9e, je souhaite effacer la sauvegarde
pr=E9c=E9dente :

Par exemple sauvegarde du jour =3D Sauvegarde au 03/03/2008
Sauvegarde =E0 effacer =3D Sauvegarde au 28/02/2008

J'ai essay=E9 : Chemin =3D Lekteur & "\" & "Sauvegarde au " & "*", mais
bien sur cela ne marche pas et surtout comment indiquer au code QUEL
dossier effacer (le plus ancien....)

Comment donc =E9crire les lignes qui permettront d'effacer le r=E9pertoire
le plus ancien en vba ? et de ne garder que le plus r=E9cent

Pouvez-vous m'aider ?

Bien =E0 vous tous,

SYL Vba

3 réponses

Avatar
isabelle
bonjour Syl,

tu pourrais créer un Nom dans le classeur pour y stocker le nom du répertoire,
par exemple,

'modifier la valeur du Nom "AncienRép"
Names("AncienRép").Delete
ActiveWorkbook.Names.Add Name:="AncienRép", RefersTo:="c:zaza"

'récupérer la valeur du Nom "AncienRép"
x = [AncienRép]

isabelle

Bonsoir à vous,

Pas simple à expliquer........

Sur un support amovible, je fais des sauvegardes avec une fonction qui
copie tous mon répertoire principal + sous répertoire.

A la fin de la proc, je nomme le répertoire de la sauvegarde en
VBAcomme ceci :

"Sauvegarde du " & Date tout fonctionne parfaitement

La semaine suivante, ou un autre jour, je souhaite faire une autre
sauvegarde :

Créer un dossier avec la date du jour, comme déjà fait, mais quand la
sauvegarde est terminée, je souhaite effacer la sauvegarde
précédente :

Par exemple sauvegarde du jour = Sauvegarde au 03/03/2008
Sauvegarde à effacer = Sauvegarde au 28/02/2008

J'ai essayé : Chemin = Lekteur & "" & "Sauvegarde au " & "*", mais
bien sur cela ne marche pas et surtout comment indiquer au code QUEL
dossier effacer (le plus ancien....)

Comment donc écrire les lignes qui permettront d'effacer le répertoire
le plus ancien en vba ? et de ne garder que le plus récent

Pouvez-vous m'aider ?

Bien à vous tous,

SYL Vba




Avatar
JB
Bonjour,

repertoire = "C:xxx"
nf = Dir(repertoire & "Sauvegarde*.xls")
Do While nf <> ""
dt = FileDateTime(repertoire & nf)
If CDate(dt) < Date Then Kill repertoire & nf
nf = Dir
Loop

JB

On 3 mar, 22:56, SylVBA wrote:
Bonsoir à vous,

Pas simple à expliquer........

Sur un support amovible, je fais des sauvegardes avec une fonction qui
copie tous mon répertoire principal + sous répertoire.

A la fin de la proc, je nomme le répertoire de la sauvegarde en
VBAcomme ceci :

"Sauvegarde du " & Date    tout fonctionne parfaitement

La semaine suivante, ou un autre jour, je souhaite faire une autre
sauvegarde :

Créer un dossier avec la date du jour, comme déjà fait, mais quand l a
sauvegarde est terminée, je souhaite effacer la sauvegarde
précédente :

Par exemple sauvegarde du jour = Sauvegarde au 03/03/2008
Sauvegarde à effacer = Sauvegarde au 28/02/2008

J'ai essayé : Chemin = Lekteur & "" & "Sauvegarde au " & "*", mais
bien sur cela ne marche pas et surtout comment indiquer au code QUEL
dossier effacer (le plus ancien....)

Comment donc écrire les lignes qui permettront d'effacer le répertoire
le plus ancien en vba ? et de ne garder que le plus récent

Pouvez-vous m'aider ?

Bien à vous tous,

SYL Vba


Avatar
SylVBA
Bsr JB

Merci pour ta réponse que je découvre,
Je ne peux pas tester ce soir, mais je vais ma précipiter dès demain

Je reviens te dire ce que je pense et le résulat

Bonne soirée à toi et aux contributeurs

Syl VBA