Vérifier validité d'un chemin d'acces

  • Initiateur de la discussion Initiateur de la discussion lufy50
  • 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 !

L

lufy50

Guest
Bonjour,

voila je souhaite créer pour chaque feuille un nouveau classeur.
Un probleme se pose : Comment vérifier l'existence du chemin d'acces (C:\mes doc\+ année en cours\ + mois en cours) et du classeur si celui ci existe déja ?
De plus comment ouvrir le classeur dont le nom correpsondant a la valeur de la cellule A1 ???

j'espere que vous pourrez m'aider.

Bonne soirée
 

Pièces jointes

Re : Vérifier validité d'un chemin d'acces

Bonjour,

Comment vérifier l'existence du chemin d'acces (C:\mes doc\+ année en cours\ + mois en cours) et du classeur si celui ci existe déja ?

Code:
chemin = Dir("U:\Tasset\Essai_3\Interfaces\Création\2008\05\", vbDirectory)
fichier = Dir("U:\Tasset\Essai_3\Interfaces\Création\2008\05\just a try.xls")

Si le dossier n'existe pas, chemin = "".
Idem pour le fichier.
 
Re : Vérifier validité d'un chemin d'acces

Bonjour à tous


Pour compléter la réponse de skoobi

La même chose (mais avec une fonction)

Code:
Public Function FileFolderExists(strFullPath As String) As Boolean
'Author       : Ken Puls (www.excelguru.ca)
'Macro Purpose: Check if a file or folder exists

    On Error GoTo EarlyExit
    If Not Dir(strFullPath, vbDirectory) = vbNullString Then FileFolderExists = True
    
EarlyExit:
    On Error GoTo 0

End Function


Pour tester

Code:
Public Sub TestFolderExistence()
'Author       : Ken Puls (www.excelguru.ca)
'Macro Purpose: Test if directory exists

    If FileFolderExists("F:\Templates") Then
        MsgBox "Folder exists!"
    Else
        MsgBox "Folder does not exist!"
    End If

End Sub

Public Sub TestFileExistence()
'Author       : Ken Puls (www.excelguru.ca)
'Macro Purpose: Test if directory exists

    If FileFolderExists("F:\Test\TestWorkbook.xls") Then
        MsgBox "File exists!"
    Else
        MsgBox "File does not exist!"
    End If

End Sub
 
Re : Vérifier validité d'un chemin d'acces

Voici la programmation que j'ai finalement adopté.
Vous m'avez tous bien aidé. Merci beaucoup.

Lucy

Code:
Public Function FileFolderExists(strFullPath As String) As Boolean

    On Error GoTo EarlyExit
    If Not Dir(strFullPath, vbDirectory) = vbNullString Then FileFolderExists = True
    
EarlyExit:
    On Error GoTo 0

End Function

Public Sub TestFolderExistence()

Range("date").Select

Date1 = Range("date").Value

Annee = Year(Date1)
Mois = Month(Date1)

'Vérifie l'existence du fichier année

 If Not FileFolderExists("U:\Tasset\Essai_3\Interfaces\Création" + "\" + Format(Annee, "####")) Then
        
 MkDir ("U:\Tasset\Essai_3\Interfaces\Création" + "\" + Format(Annee, "####"))
 End If

'Vérifie l'existence du fichier mois

 If Not FileFolderExists("U:\Tasset\Essai_3\Interfaces\Création" + "\" + _
        Format(Annee, "####") + "\" + Format(Mois, "00")) Then
        
 MkDir ("U:\Tasset\Essai_3\Interfaces\Création" + "\" + Format(Annee, "####") + "\" + Format(Mois, "00"))
 End If
    
'Vérifie l'existence du classeur
    
    'If Not FileFolderExists("U:\Tasset\Essai_3\Interfaces\Création\2008\05\just a try.xls") Then
     
    'Workbooks.Add
    'ActiveWorkbook.SaveAs Filename:="U:\Tasset\Essai_3\Interfaces\Création\2008\05\everybreathyoutake.xls"
         
    'End If

End Sub


Public Sub TestFileExistence()
Dim buffer As String
Range("date").Select

Date1 = Range("date").Value

Annee = Year(Date1)
Mois = Month(Date1)

buffer = "U:\Tasset\Essai_3\Interfaces\Création" + "\" + _
        Format(Annee, "####") + "\" + Format(Mois, "00") + "\" + Sheets(1).Range("mix").Value

    If Not FileFolderExists(buffer) Then
           
        Workbooks.Add
        
        ActiveWorkbook.SaveAs Filename:=("U:\Tasset\Essai_3\Interfaces\Création" + "\" + _
        Format(Annee, "####") + "\" + Format(Mois, "00") + "\" + Sheets(1).Range("mix").Value)
        
        End If

End Sub
 
- 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

E
  • Question Question
Réponses
6
Affichages
1 K
ebenezerkonan
E
Réponses
2
Affichages
2 K
R
Réponses
15
Affichages
5 K
razorlight
R
L
Réponses
1
Affichages
1 K
Lucien31
L
J
Réponses
6
Affichages
1 K
J
L
Réponses
5
Affichages
2 K
lumiexcel
L
Retour