Déplacement fichier(s) vers dossier le plus récent

Fermé
Liophylios - 27 sept. 2017 à 09:58
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 30 sept. 2017 à 12:16
Bonjour,

Je me permets de solliciter votre aide pour un petit bout de code ! :D.

Voici mon soucis :

Je dois transférer plusieurs fichiers vers un dossier.
Rien de compliqué me direz vous mais le soucis c'est que le dossier de destination est issue d'une macro MkDir :

Sub dossier()

MkDir ("C:\Users\h19371\Desktop\DO saisis\DO V2\DO " & " " & Format$(Date, "dd-mm-yyyy") & " " & Format$(Time, "hh-mm"))
MsgBox "Nouveau dommage crée"

End Sub


Donc le nom de mon dossier de destination est variable.

J'aimerai donc pouvoir demander à ma macro de transférer certains fichiers vers le dossier le plus récent d'un répertoire.

Si vous avez d'autres solutions, je suis preneur !

Merci par avance.

A voir également:

5 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
27 sept. 2017 à 12:17
Bonjour,

Au plus simple, ecrire le dernier repertoire cree dans une cellule et lire cette cellule pour vos transfert
0
Bonjour.

Merci de votre réponse mais la macro est utilisée pour du ppt et non excel.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
27 sept. 2017 à 14:36
Re,

Ben oui, si vous le dites.
Vous connaissez le VBA ou pas ??
0
yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024 1 477
27 sept. 2017 à 17:53
bonsoir, suggestion:
Sub dossier()
dim nomdossier as string
nomdossier = "C:\Users\h19371\Desktop\DO saisis\DO V2\DO " & " " & Format$(Date, "dd-mm-yyyy") & " " & Format$(Time, "hh-mm")
MkDir (nomdossier)
MsgBox "Nouveau dommage crée: " & nomdossier

End Sub 

cela te convient-il?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
27 sept. 2017 à 18:44
Bonjour,
Ce n'est pas son souci, la creation de répertoire, c'est de pouvoir transférer des fichiers dans le dernier répertoire créé avec une autre macro ceci sous VBA PowerPoint .
Je propose une mise en mémoire dans un objet quelconque du dernier répertoire créé.
Maintenant, à lui de voir........
0
Liophylios > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
28 sept. 2017 à 09:20
Bonjour.

Merci f894009 et oui vous avez bien cerné mon problème.

Je débute à peine le VBA et mes connaissances sont donc très limites...
0
yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024 1 477
28 sept. 2017 à 11:08
cela nous aiderait si tu donnais une vue d'ensemble:
- le dossier est-il créé juste avant de transférer les fichiers?
- les deux opérations (création et transferts) sont-elles dans le même module de code VBA?
0
Bonjour.

_ Oui le dossier est crée juste avant le transfert via une macro VBA sur une image.
_ Non, les deux opérations de sont pas dans le même module.
0
yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024 1 477 > Liophylios
28 sept. 2017 à 11:38
si tu déclares la variable nomdossier comme publique, en début de module, tu pourras réuntiliser sa valeur dans les autres modules.
public nomdossier as string
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702 > yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024
28 sept. 2017 à 12:40
Bonjour a vous deux,
Liophylios:
Non, les deux opérations de sont pas
Oui, mais avez vous besoin de faire des transferts sans a avoir de repertoire a creer, donc utiliser le dernier cree y compris sur reouveture du pptm ???
0
yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024 1 477 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
28 sept. 2017 à 12:45
une autre possibilité serait de parcourir le dossier parent pour y rechercher le dossier le plus récent (par nom ou par attribut). c'est peut-être le plus fiable.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702 > yg_be Messages postés 22731 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 avril 2024
28 sept. 2017 à 12:51
Re,
En effet, plus simple
0

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

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié le 30 sept. 2017 à 12:17
Bonjour à tous,

Si tu veux garder le chemin en mémoire, c'est la solution de f894009 qui est la plus simple.
Voici une autre méthode avec la base de registre:

 'chemin de la clé
'HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Monappli
Dim mavariable As String
Sub ecriture()
mavariable = "cheminenregistrement"
' Place some settings in the registry.
SaveSetting "Monappli", "Start", "chemin", mavariable
End Sub
Sub lecture()
MsgBox GetSetting(AppName:="Monappli", _
            Section:="Start", _
            Key:="chemin", Default:=mavariable)
End Sub
Sub delete()
DeleteSetting "Monappli"
End Sub


Pour faire les essais tu places le curseur sur ecriture et tu appuies sur F5, de même pour lecture et delete
Tu peux fermer ta présentation, tu as ton chemin en mémoire à l'ouverture!


@+ Le Pivert
0