Déplacer fichier texte avec VBA

Résolu/Fermé
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 - 25 févr. 2013 à 11:26
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 - 26 févr. 2013 à 12:58
Bonjour,

J'ai adapté une macro trouvé sur un forum à mon problème, afin de pouvoir depuis ma page excel, déplacer tous les fichiers txts présents dans le fichier "comp" vers le dossiers "2013".

Mais ça ne fonctionne pas, je n'arrive pas à définir qu'il "faut déplacer tous les fichiers txts"

Sub DeplaceFichier()

Const Source = "H:\comp.txt"
Const Destin = "H:\comp\2013"

Dim objOFS As Variant

Set objOFS = CreateObject("Scripting.FileSystemObject")

If (objOFS.FileExists(Source)) Then
objOFS.moveFile Source, Destin
End If

Set objOFS = Nothing

End Sub

Merci de votre aide
A voir également:

6 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
26 févr. 2013 à 11:35
Re,

Sub DeplaceFichier()
    Dim objOFS As Variant
    Const SourceTxt = "H:\comp\SB2000*.txt"
    Const Destin = "H:\comp\2013"

    Set objOFS = CreateObject("Scripting.FileSystemObject")
    'Test si au moins nun fichier present
    If Dir(SourceTxt) <> "" Then
        objOFS.moveFile SourceTxt, Destin
    Else
        MsgBox "Pas de fichier a déplacer!!!"
    End If

    Set objOFS = Nothing

End Sub


A+
1
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
26 févr. 2013 à 11:56
Ca ne marche pas parce que si j'ai bien compris, il va déplaçer les fichiers qui s'appellent SB2000 alors que j'aimerais qu'il déplace les fichiers COMMENCANT par SB2000.

c'est compréhensible ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
26 févr. 2013 à 12:16
Re,

Const SourceTxt = "H:\comp\SB2000*.txt" tous les fichiers qui commence par SB2000, la suite du nom de fichier est * pour tous les fichiers
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
26 févr. 2013 à 12:58
Tu as raison ca fonctionne merci bcp !
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
25 févr. 2013 à 13:32
j'ai Excel 2007
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
25 févr. 2013 à 17:17
Bonjour,

"faut déplacer tous les fichiers txts" : *.txt

Probleme: vous melangez dossier et fichier, expliquez!!!!
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
26 févr. 2013 à 08:23
Pardon je reformule :

<< J'ai adapté une macro trouvé sur un forum à mon problème, afin de pouvoir depuis ma page excel, déplacer tous les fichiers txts présents dans le dossier "comp" vers le dossiers "2013". >>

Je veux que la macro déplacer les fichiers txt présents dans le dossier comp, vers le dossier 2013 qui se situe également dans le dossier comp.

Dans le dossier comp il y a 3 dossiers (2011, 2012, 2013) plus des fichiers txts qui s'enregistrent quotidiennement.

Cette macro me permettrai d'archiver tous les fichiers txt dans le dossier de l'année en cours.
0

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

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
26 févr. 2013 à 08:42
Bonjour,

Une facon de faire:

Sub DeplaceFichier()
    Dim objOFS As Variant
    Const SourceTxt = "H:\comp\*.txt"
    Const Destin = "H:\comp\2013"

    Set objOFS = CreateObject("Scripting.FileSystemObject")
    'Test si au moins nun fichier present
    If Dir(SourceTxt) <> "" Then
        objOFS.moveFile SourceTxt, Destin
    Else
        MsgBox "Pas de fichier a déplacer!!!"
    End If

    Set objOFS = Nothing

End Sub


Peut se faire sans object Scripting.

A+
0
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 9
26 févr. 2013 à 11:26
Merci c'est parfaitement ça ! le message qui s'affiche en plu si il n'y a rien c'est encore mieux !!

Jvais essayer de pousser un peu plus loin sauf ci c'est trop de boulot dis le moi. Est ce possible de d'indiquer à la macro de déplacer les fichiers commencant par SB2000 ?
0