[RESOLU] Erreur en cas d'existence du dossier et du classeur.

  • Initiateur de la discussion Initiateur de la discussion Neonours
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

Neonours

Guest
Bonjour le forum,

Novice en VBA, je m'améliore de jour en jour mais là, je comprend pas:

J'ai fait une macro qui vérifie si un dossier et un fichier existe.

1:Si aucun des deux n'existent, la macro les créé.

2:Si le dossier existe, la macro créer le fichier.

3:Si aucun les deux existent, la macro m'ouvre une MsgBox qui me le dit.

Les points 1 et 2 fonctionnent à merveille.

Le point 3, par contre, pêche un peu. Il m'ouvre bien la box mais quand je clique sur OK, il me fait une erreur à la ligne du MkDir et me la surligne en jaune.

Quelqu'un aurait une solution et une petite explication?

Voici mon code:
Code:
If Dir("C:\DONNEES A\DONNEES B\HEURES\VEILLES " & annee, vbDirectory) <> "" And Dir("C:\DONNEES A\DONNEES B\HEURES\VEILLES " & annee & "\" & "Veilles " & annee & ".xls", vbNormal) <> "" Then MsgBox "Le classeur demandé existe déjà!" Else
    If Dir("C:\DONNEES A\DONNEES B\HEURES\VEILLES " & annee, vbDirectory) <> "" And Dir("C:\DONNEES A\DONNEES B\HEURES\VEILLES " & annee & "\" & "Veilles " & annee & ".xls", vbNormal) = "" Then
    Workbooks.Add
    ActiveWorbook.SaveAs Filename:="C:\DONNEES A\DONNEES B\HEURES\VEILLES " & annee & "\" & "Veilles " & annee & ".xls"
    Else
        MkDir "C:\DONNEES A\DONNEES B\HEURES\VEILLES " & annee
        Workbooks.Add
        ActiveWorkbook.SaveAs Filename:="C:\DONNEES A\DONNEES B\HEURES\VEILLES " & annee & "\" & "Veilles " & annee & ".xls"
        End If

D'avance, merci à celles et ceux qui voudront bien se pencher sur mon souci.

Neonours.
 
Re : Erreur en cas d'existence du dossier et du classeur.

Bonjour Neonours,

Peut-être

Code:
Dim Doss As String, Fic As String
    Doss = Dir("C:\DONNEES A\DONNEES B\HEURES\VEILLES " & annee, vbDirectory)
    Fic = Dir("C:\DONNEES A\DONNEES B\HEURES\VEILLES " & annee & "\" & "Veilles " & annee & ".xls", vbNormal)
    If Doss <> "" And Fic <> "" Then
        MsgBox "Le classeur demandé existe déjà!"
    ElseIf Doss <> "" And Fic = "" Then
        Workbooks.Add
        ActiveWorbook.SaveAs Filename:="C:\DONNEES A\DONNEES B\HEURES\VEILLES " & annee & "\" & "Veilles " & annee & ".xls"
    Else
        MkDir "C:\DONNEES A\DONNEES B\HEURES\VEILLES " & annee
        Workbooks.Add
        ActiveWorkbook.SaveAs Filename:="C:\DONNEES A\DONNEES B\HEURES\VEILLES " & annee & "\" & "Veilles " & annee & ".xls"
    End If
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
14
Affichages
2 K
C
Réponses
6
Affichages
1 K
Hogwarts
H
A
Réponses
5
Affichages
1 K
Retour