OVH Cloud OVH Cloud

macro pour créer un dossier

4 réponses
Avatar
xavier
Bonjour,

Je souhaiterais enregistrer le fichier excel sur lequel je travaille sur le
c: dans un dossier qui s'appelerai "rapport" mais ce dossier n'est peut-etre
pas créé sur les pc où je risue d'utiliser le fichier quelle macro puis-je
utiliser pour qu'il crée un dossier s'il n'existe pas


merci

4 réponses

Avatar
anomymousA
Bonjour,

Sub DéplacerFichiers(Depuis$, Vers$, NouveauDossier As Boolean)

Dim fso As FileSystemObject

On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
If NouveauDossier Then fso.CreateFolder Vers

fso.MoveFile Depuis & "nom de ton fichier.xls", Vers & ""

End Sub

A+


Bonjour,

Je souhaiterais enregistrer le fichier excel sur lequel je travaille sur le
c: dans un dossier qui s'appelerai "rapport" mais ce dossier n'est peut-etre
pas créé sur les pc où je risue d'utiliser le fichier quelle macro puis-je
utiliser pour qu'il crée un dossier s'il n'existe pas


merci


Avatar
xavier
merci de ta réponse rapide mais je ne souhaite pas déplacer le fichier.

En fait le fichier en question sera un modèle qui sera distribué sur cd une
fois ouvert et une fois qu'ils auront travaillé dessus une validation leur
permettra d'enregitrer le fichier sur le c:

Pour cela je souhaiterais créer un dossier qui permettrait de stocker ces
fichiers pour qu'ils ne trainent pas sur le c: mais ce dossier n'existe pas
sur leur machine actuellement donc pas de possibilité d'orienter vers le
chemin adéquat. Pour cela avant de faire save as il faudrait qu'il vérifie
que le chemin c:rapport existe et sinon qu'il le crée puis save as .

J'espère avoir été plus clair

merci d'avance pour ta réponse

"anomymousA" wrote:

Bonjour,

Sub DéplacerFichiers(Depuis$, Vers$, NouveauDossier As Boolean)

Dim fso As FileSystemObject

On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
If NouveauDossier Then fso.CreateFolder Vers

fso.MoveFile Depuis & "nom de ton fichier.xls", Vers & ""

End Sub

A+


Bonjour,

Je souhaiterais enregistrer le fichier excel sur lequel je travaille sur le
c: dans un dossier qui s'appelerai "rapport" mais ce dossier n'est peut-etre
pas créé sur les pc où je risue d'utiliser le fichier quelle macro puis-je
utiliser pour qu'il crée un dossier s'il n'existe pas


merci




Avatar
Michel Gaboly
Bonsoir,

Pas besoin du FileSystemObject ;-))

La fonction Dir te permet de savoir si un fichier ou un repertoire
existe. La fonction Mkdir le crée en cas de besoin :

Sub CreeSiNecessaire
Dim Sep as String, Chemin as String
Sep = Application.PathSeparator
Chemin = ThisWorkbook.Path & Sep & "MPFE"
If Len(Dir(Chemin, vbDirectory)) = 0 Then
Mkdir Chemin
End If
End Sub

Le separateur dans les chemins d'accès n'est pas le même sous MacOS et
sous Windows. L'emploi de Application.PathSeparator résoud le problème.


Bonjour,

Sub DéplacerFichiers(Depuis$, Vers$, NouveauDossier As Boolean)

Dim fso As FileSystemObject

On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
If NouveauDossier Then fso.CreateFolder Vers

fso.MoveFile Depuis & "nom de ton fichier.xls", Vers & ""

End Sub

A+



Bonjour,

Je souhaiterais enregistrer le fichier excel sur lequel je travaille sur le
c: dans un dossier qui s'appelerai "rapport" mais ce dossier n'est peut-etre
pas créé sur les pc où je risue d'utiliser le fichier quelle macro puis-je
utiliser pour qu'il crée un dossier s'il n'existe pas


merci




--
Cordialement,

Michel Gaboly
www.gaboly.com


Avatar
anomymousA
OK,

pour faire ca, pas besoin de passer par fso.

Utiliser chdir et mkdir suffiront.

on error resume next
ChDir "C:RAPPORT"

if err.number<>0 then
err.clear
MkDir "C:RAPPORT"
end if

A partir de là, on a testé s'il existait un répertoire portant ce nom et si
il n'existait on l'a créé.

A+



merci de ta réponse rapide mais je ne souhaite pas déplacer le fichier.

En fait le fichier en question sera un modèle qui sera distribué sur cd une
fois ouvert et une fois qu'ils auront travaillé dessus une validation leur
permettra d'enregitrer le fichier sur le c:

Pour cela je souhaiterais créer un dossier qui permettrait de stocker ces
fichiers pour qu'ils ne trainent pas sur le c: mais ce dossier n'existe pas
sur leur machine actuellement donc pas de possibilité d'orienter vers le
chemin adéquat. Pour cela avant de faire save as il faudrait qu'il vérifie
que le chemin c:rapport existe et sinon qu'il le crée puis save as .

J'espère avoir été plus clair

merci d'avance pour ta réponse

"anomymousA" wrote:

Bonjour,

Sub DéplacerFichiers(Depuis$, Vers$, NouveauDossier As Boolean)

Dim fso As FileSystemObject

On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
If NouveauDossier Then fso.CreateFolder Vers

fso.MoveFile Depuis & "nom de ton fichier.xls", Vers & ""

End Sub

A+


Bonjour,

Je souhaiterais enregistrer le fichier excel sur lequel je travaille sur le
c: dans un dossier qui s'appelerai "rapport" mais ce dossier n'est peut-etre
pas créé sur les pc où je risue d'utiliser le fichier quelle macro puis-je
utiliser pour qu'il crée un dossier s'il n'existe pas


merci