OVH Cloud OVH Cloud

Routine

2 réponses
Avatar
STEN83
Bonjour et Bonne Année à tous.

J'ai une macro qui crée un répertoire portant le nom de l'année écoulée ex:
(2004)
Comment faire pour eviter un message d'erreur qui me dis que le repertoire
ne peut être créer car il existe déjà .
En fait je voudrais qu'il s'affiche un message du style "Le répertoire de
l'année écoulée à déjà été créé!" et faire en sorte d'arrêter la macro pour
ne plus avoir de message d'erreur.

Voici le code de ma macro:(récuperée sur ce forum merci a son auteur)

Sub Archiver()

Dim Rep As String, Nrep As String
Dim Fichier As String

'à déterminer chemin où sont tes fichiers
Rep = "C:\Carte Total\Sauvegardes\"
Nrep = Rep & JANVIER.Range("D7") & "\"

If Dir(Nrep) = "" Then
MkDir Nrep
End If

'Ne copie que les fichiers excel
'Pour tous les fichiers modifie .xls par "*.*"
Fichier = Dir(Rep & "*.xls")
Do While Fichier <> ""
FileCopy Rep & Fichier, Nrep & Fichier
Kill Rep & Fichier
Fichier = Dir()
Loop
MsgBox "Toutes les sauvegardes ont été déplacées" & Chr(13) _
& "dans le sous répertoire" & " " & JANVIER.Range(" D7"), vbInformation, _
"Archivage"

End Sub




--
Le partage du savoir contribue à l'amélioration de la condition humaine!
Merci à tous

2 réponses

Avatar
Patrick Fredin
Bonjour,

Essais en modifiant la ligne suivante de cette façon :

Nrep = Rep & JANVIER.Range("D7")

En fait sans le "".

Je ne suis pas certain mais je pense que cela devrait fonctionner.

--
Patrick

"STEN83" wrote in message
news:
Bonjour et Bonne Année à tous.

J'ai une macro qui crée un répertoire portant le nom de l'année écoulée
ex:
(2004)
Comment faire pour eviter un message d'erreur qui me dis que le repertoire
ne peut être créer car il existe déjà .
En fait je voudrais qu'il s'affiche un message du style "Le répertoire de
l'année écoulée à déjà été créé!" et faire en sorte d'arrêter la macro
pour
ne plus avoir de message d'erreur.

Voici le code de ma macro:(récuperée sur ce forum merci a son auteur)

Sub Archiver()

Dim Rep As String, Nrep As String
Dim Fichier As String

'à déterminer chemin où sont tes fichiers
Rep = "C:Carte TotalSauvegardes"
Nrep = Rep & JANVIER.Range("D7") & ""

If Dir(Nrep) = "" Then
MkDir Nrep
End If

'Ne copie que les fichiers excel
'Pour tous les fichiers modifie .xls par "*.*"
Fichier = Dir(Rep & "*.xls")
Do While Fichier <> ""
FileCopy Rep & Fichier, Nrep & Fichier
Kill Rep & Fichier
Fichier = Dir()
Loop
MsgBox "Toutes les sauvegardes ont été déplacées" & Chr(13) _
& "dans le sous répertoire" & " " & JANVIER.Range(" D7"), vbInformation, _
"Archivage"

End Sub




--
Le partage du savoir contribue à l'amélioration de la condition humaine!
Merci à tous


Avatar
LSteph
Bonjour Sten,
exemple:
'****
Sub trep()
Dim testM
Dim nrep As String

nrep = "C:2007"

On Error GoTo creer
ChDir (nrep)
MsgBox (nrep & " existe déjà")

Exit Sub
creer:
testM = MsgBox(nrep & " va être créé", vbOKCancel)
If testM <> 2 Then MkDir (nrep)

End Sub
'***

'lSteph


"STEN83" a écrit dans le message de news:

Bonjour et Bonne Année à tous.

J'ai une macro qui crée un répertoire portant le nom de l'année écoulée
ex:
(2004)
Comment faire pour eviter un message d'erreur qui me dis que le repertoire
ne peut être créer car il existe déjà .
En fait je voudrais qu'il s'affiche un message du style "Le répertoire de
l'année écoulée à déjà été créé!" et faire en sorte d'arrêter la macro
pour
ne plus avoir de message d'erreur.

Voici le code de ma macro:(récuperée sur ce forum merci a son auteur)

Sub Archiver()

Dim Rep As String, Nrep As String
Dim Fichier As String

'à déterminer chemin où sont tes fichiers
Rep = "C:Carte TotalSauvegardes"
Nrep = Rep & JANVIER.Range("D7") & ""

If Dir(Nrep) = "" Then
MkDir Nrep
End If

'Ne copie que les fichiers excel
'Pour tous les fichiers modifie .xls par "*.*"
Fichier = Dir(Rep & "*.xls")
Do While Fichier <> ""
FileCopy Rep & Fichier, Nrep & Fichier
Kill Rep & Fichier
Fichier = Dir()
Loop
MsgBox "Toutes les sauvegardes ont été déplacées" & Chr(13) _
& "dans le sous répertoire" & " " & JANVIER.Range(" D7"), vbInformation, _
"Archivage"

End Sub




--
Le partage du savoir contribue à l'amélioration de la condition humaine!
Merci à tous