creer des dossiers en vba

choupi_nette

XLDnaute Occasionnel
Bonjour le forum,

J'ai une question concernant la création de dossiers:

Je dispose d'un repertoire en local dans lequel il y a deux types de fichiers (deux extensions)
.txt
.csv

Ce que je voudrais faire c'est SI ces fichiers sont "nus" dans le dossier "data" c'est a dire pas deja dans un fichier, creer un dossier qui a le meme nom que les deux fichiers ou seule l'extension differe

Le but final est qu'a la fin de la macro tous les fichiers soient dans un dosssier du folder "data"

Merci pour votre aide

Choupi
 
Dernière édition:

choupi_nette

XLDnaute Occasionnel
Re : creer des dossiers en vba

Hello papou,

Oui quoi qu'il arrive il y aura les deux extensions avec le meme nom ! seule l'extension change

donc fichiers: abcdefgh.txt et abcdefgh.csv seront coupés et collés dans le dossier abcdefgh

Merci d'avance
Choupi
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : creer des dossiers en vba

Bonsoir Choupinette Gilbert:) le forum
voilà le fichier tu le mets dans le dossier data tu ouvres et tu cliques traiter
a+
Papou:)
 

Pièces jointes

  • Choupinette V1.xlsm
    20.5 KB · Affichages: 46
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : creer des dossiers en vba

Bonsoir Choupinette Gilbert:) le forum
voilà le fichier tu le mets dans le dossier data tu ouvres et tu cliques traiter
tu as raison Gilbert si il ou elle est en 2003 voilà la version .xls
a+
Papou:)
 

Pièces jointes

  • Choupinette V1.xls
    38.5 KB · Affichages: 30

choupi_nette

XLDnaute Occasionnel
Re : creer des dossiers en vba

Hello a tous,
Merci pour votre code. C'est pas mal mais pas encore tout a ca !
Dans ce code là le script crée un dossier pour le txt et un pour le csv
Ce que j'ai dans mon dossier:

xxxxxxxxxxxxxxxxxxxxxxxxxxxx.txt
xxxxxxxxxxxxxxxxxxxxxxxxxxxx_results.csv

Il faudrait le script prenne les 2 fichiers ayant la partie xxxxxxxxxxxxxxxxxxxxxxxxxxxx en commun et mette ces deux fichier dans un seul dossier nommé xxxxxxxxxxxxxxxxxxxxxxxxxxxx
et ainsi de suite pour tous les fichiers du dossier data

Desolée si ca n'a pas été clair

Si vous avez une solution ce serait top

Merci
Choupi
 

gilbert_RGI

XLDnaute Barbatruc
Re : creer des dossiers en vba

Bonjour,

normal ce sont deux noms différents

il faut faire une comparaison de chaine jusqu'à l'underscore

si c'est toujours le cas

à tester

Code:
Sub Copier()
    Dim f As Object, Fso As Object, adr$, fichier$, lg$
    Set Fso = CreateObject("Scripting.FileSystemObject")
    adr = ThisWorkbook.Path
    For Each f In Fso.GetFolder(adr).Files
        If Not f = ThisWorkbook.FullName And Not f Like "*~$*" Then
            fichier = Mid(f.Name, 1, Len(f.Name) - 4)
            lg = InStr(1, fichier, "_")
            If lg <> 0 Then
                fichier = Left(fichier, lg - 1)
            End If
            'MsgBox fichier
            If Dir(adr & "\" & fichier & "\", vbDirectory) = "" Then MkDir adr & "\" & fichier & "\"
            f.Move adr & "\" & fichier & "\"
        End If
    Next f
    MsgBox "Traitement Terminé", , "Terminé"
End Sub

:cool::eek:
 

Pièces jointes

  • testcvs.jpg
    testcvs.jpg
    17.4 KB · Affichages: 26
  • testcvs.jpg
    testcvs.jpg
    17.4 KB · Affichages: 39
  • testcvs.jpg
    testcvs.jpg
    17.4 KB · Affichages: 36
Dernière édition:

choupi_nette

XLDnaute Occasionnel
Re : creer des dossiers en vba

Bonjour,

Merci Gilbert_RGI mais ça crée toujours deux dossiers.

Je voulais que mon txt et csv qui ont la meme chaine jusqu'au "_Results.csv" aillent les deux dans un dossier qui prendra le nom de la chaine commune

Merci pour avoir tenté c'est super gentil

Choupi
 

gilbert_RGI

XLDnaute Barbatruc
Re : creer des dossiers en vba

chez moi ça ne crée qu'un seul dossier

avec le nom de dossier qui va jusq'au premier underscore

car j'ai également fait le test avec plusieurs

prendre la version du code modifé à 11h39 :cool:

s'ils ne vont pas dans le même dossier c'est que les noms ont une différence (voir les accents ou les espaces par exemple)
 

Pièces jointes

  • testcvs.jpg
    testcvs.jpg
    17.4 KB · Affichages: 29
  • testcvs.jpg
    testcvs.jpg
    17.4 KB · Affichages: 42
  • testcvs.jpg
    testcvs.jpg
    17.4 KB · Affichages: 42
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : creer des dossiers en vba

Bonjour Gilbert:) choupinette le forum,
j'aime bien quand on répond cela ne va pas, alors que les explications données sont nulles!!!
xxxxxxxxxxxxxxxxxxxxxxxxxxxx.txt
xxxxxxxxxxxxxxxxxxxxxxxxxxxx_results.csv
Si pour Toi choupinette les deux noms de dossiers ci-dessus sont identiques, il faut acheter une ou deux paires de lunettes!!! le nom du fichier va jusqu'au point de l'extension txt et csv !!!!
Bref mon code marche parfaitement je n'ai pas regardé ce que Gilbert à modifié dans ma macro, mais je pense que c'est tout bon.
Une certitude une fois de plus avec des explications très mauvaises, on obtient des réponses qui ne conviennent pas, mais pas à cause des réponses, à cause des demandes.
Je pense que notre ami Gilbert sera d'accord avec mon propos.
a+
Papou:)
 
Dernière édition:

choupi_nette

XLDnaute Occasionnel
Re : creer des dossiers en vba

Cher Paritec,

Au lieu d'insulter les gens si tu avais lu :
Ce que j'ai dans mon dossier:

xxxxxxxxxxxxxxxxxxxxxxxxxxxx.txt
xxxxxxxxxxxxxxxxxxxxxxxxxxxx_results.csv

Il faudrait le script prenne les 2 fichiers ayant la partie xxxxxxxxxxxxxxxxxxxxxxxxxxxx en commun et mette ces deux fichier dans un seul dossier nommé xxxxxxxxxxxxxxxxxxxxxxxxxxxx
et ainsi de suite pour tous les fichiers du dossier data

Donc je dis bien si tu avais lu !!! T'aurais compris
Choupi
 

Paritec

XLDnaute Barbatruc
Re : creer des dossiers en vba

Re Chopupinette le forum
je ne t'insulte pas je dis que tu es une personne incorrecte, de dire que la réponse ne convient pas alors que ta demande initiale, n'est pas du tout le reflet de la demande présente
1) demande
Je dispose d'un repertoire en local dans lequel il y a deux types de fichiers (deux extensions)
.txt
.csv

Ce que je voudrais faire c'est SI ces fichiers sont "nus" dans le dossier "data" c'est a dire pas deja dans un fichier, creer un dossier qui a le meme nom que les deux fichiers ou seule l'extension differe

Le but final est qu'a la fin de la macro tous les fichiers soient dans un dosssier du folder "data"
2) demande
Hello papou,

Oui quoi qu'il arrive il y aura les deux extensions avec le meme nom ! seule l'extension change

donc fichiers: abcdefgh.txt et abcdefgh.csv seront coupés et collés dans le dossier abcdefgh

Merci d'avance
Choupi

Alors apprend à t'exprimer correctement et après on causera, ma macro fait exactement ce que tu as demandé en demande 2 et pas autre chose.
Donc elle correspond parfaitement à le demande.
a+
Papou:)
 
Dernière édition:

choupi_nette

XLDnaute Occasionnel
Re : creer des dossiers en vba

Cher Papou,

Je suis peut être incorrecte mais si j'ai renvoyé un nouveau mail pour préciser mon propos encore aurait il fallut que tu le lises au lieu de me sauter dessus rempli de haine.

J'aime bien le "Donc elle correspond parfaitement à le demande".. tout dépend ce que tu veux bien considérer

A +
Choupi
 

Paritec

XLDnaute Barbatruc
Re : creer des dossiers en vba

Re Choupinette le forum
ma macro était une réponse en post 6 donc , une réponse à la demande 1 et à la demande 2 et de lire
Hello a tous,
Merci pour votre code. C'est pas mal mais pas encore tout a ca !
Me choque un peu alors que la demande au post 7 se transforme, ok mais dans ce cas il faut aussi savoir et reconnaitre que, ""c'est toi qui change la donne"" pas la réponse qui est pas bonne et qui n'est ""pas encore tout a ca"" comme tu le notes
a+
Papou:)
 

Discussions similaires

Réponses
13
Affichages
508

Statistiques des forums

Discussions
312 305
Messages
2 087 091
Membres
103 465
dernier inscrit
Ehoarn_src