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

Enregistrer une copie

3 réponses
Avatar
Sunburn
Bonjour,
je souhaite faire par macro, une copie de mon fichier.
en fait, je veux enregistrer mon fichier, sous un répertoire différent de
celui sur lequel je bosse.
je bosse sur G:\Do1\10200\2006
je souhaite enregistrer une copie sous G:\Do1\10200\2007, sachant que le
dossier 2007 n'est pas forcément créé dans l'arborescence. (il s'agit de
2006+1, avec une incrémentation).
Ou sinon, une text box qui me demande le fichier que je veut créer, sous le
dossier 10200 (en fait, il s'arrête au dossier du sous-niveau)

Le nom du fichier copie serait "0Prep CAC N.xls".

Comment puis-je faire tout ceci? j'ai essayé avec des SaveAs, mais la
création du dossier 2007 me pose soucis.
Merci.
Yann

3 réponses

Avatar
papou
Bonjour
Pour la création du répertoire tu peux t'inspirer de quelque chose comme ça
:
On Error Resume Next
ChDir "C:zozo"
If Err <> 0 Then
If MsgBox("Le répertoire C:zozo n'existe pas" & vbLf & _
"souhaitez-vous le créer", vbQuestion + vbYesNo, "Répertoire non trouvé") =
vbYes Then
Err.Clear: On Error GoTo 0
MkDir "C:zozo"
Else
Exit Sub: End If
End If

Cordialement
Pascal

"Sunburn" a écrit dans le message de
news:
Bonjour,
je souhaite faire par macro, une copie de mon fichier.
en fait, je veux enregistrer mon fichier, sous un répertoire différent de
celui sur lequel je bosse.
je bosse sur G:Do1102002006
je souhaite enregistrer une copie sous G:Do1102002007, sachant que le
dossier 2007 n'est pas forcément créé dans l'arborescence. (il s'agit de
2006+1, avec une incrémentation).
Ou sinon, une text box qui me demande le fichier que je veut créer, sous
le
dossier 10200 (en fait, il s'arrête au dossier du sous-niveau)

Le nom du fichier copie serait "0Prep CAC N.xls".

Comment puis-je faire tout ceci? j'ai essayé avec des SaveAs, mais la
création du dossier 2007 me pose soucis.
Merci.
Yann


Avatar
Sunburn
Bonjour Pascal,
en fait, il faudrait qu'il propose lui même le chemin (ce fichier va etre
dupliqué en 150 ou 200 fois, avec autant de chemins différents).
Donc il me faut le chemin actuel de proposé.
On Error Resume Next
ChDir "C:zozo"
là il faudrait qu'il trouve le chemin d'origine

If Err <> 0 Then
If MsgBox("Le répertoire C:zozo n'existe pas" & vbLf & _
"souhaitez-vous le créer", vbQuestion + vbYesNo, "Répertoire non trouvé") =
vbYes Then
Err.Clear: On Error GoTo 0
MkDir "C:zozo"
Else
Exit Sub: End If
End If



Merci.
Yann

Avatar
papou
Re
Je ne sais pas exactement comment tu procèdes mais
tu peux partir à partir de cet exemple si c'est plus parlant pour toi :
Dim NomRep As String
NomRep = "G:Do1102002007"
On Error Resume Next
'on essaie de créer le répertoire
MkDir NomRep
'mais s'il existe il y a une erreur, on la 'nettoie' et on réinitailise la
gestion des erreurs
If Err <> 0 Then Err.Clear: On Error GoTo 0
'on enregistre une copie dans le nouveau répertoire
ActiveWorkbook.SaveAs NomRep & Application.PathSeparator & "0Prep CAC N.xls"

Cordialement
Pascal

"Sunburn" a écrit dans le message de
news:
Bonjour Pascal,
en fait, il faudrait qu'il propose lui même le chemin (ce fichier va etre
dupliqué en 150 ou 200 fois, avec autant de chemins différents).
Donc il me faut le chemin actuel de proposé.
On Error Resume Next
ChDir "C:zozo"
là il faudrait qu'il trouve le chemin d'origine

If Err <> 0 Then
If MsgBox("Le répertoire C:zozo n'existe pas" & vbLf & _
"souhaitez-vous le créer", vbQuestion + vbYesNo, "Répertoire non trouvé")
vbYes Then
Err.Clear: On Error GoTo 0


MkDir "C:zozo"
Else
Exit Sub: End If
End If



Merci.
Yann