Créer une arborescence variable

jbballeyguier

XLDnaute Nouveau
Bonjour,

je travaille actuellement sur un outil de gestion de recette. Un fichier contient l'ensemble des cas d'utilisation, lesquels sont exportés lors de la création d'une campagne de tests, et stockés dans un dossier au nom du cas.

Pour cela, j'ai besoin de créer une arborescence pour la campagne, un dossier pour la version majeure de l'application, et pour chaque cas, un dossier au nom du cas et deux sous-dossier contenant les traces de tests.

Cela donne quelque chose ressemblant à ça :

C:\Campagnes\Campagne-01-01-2011\V1\CAT-01.001\(TRACES1)(TRACES2)

Je dois actuellement gérer deux versions majeures : V1 et V2. Mais parfois, un même cas doit être testés sur la V1 et la V2. Je sais gérer la création de l'arborescence lorsqu'un cas doit être testé dans une seule version, mais pas quand il doit être testé dans les deux versions, car je dois créer deux arborescence et enregistrer le fichier dans deux dossiers différents.

J'utilise de manière sans doute abusive les If...ElseIf...Else:, mais c'est que je ne sais pas utiliser les Case. Si quelqu'un peut m'aider à améliorer ce bout de code, je suis preneur :

Code:
If Not fs.folderexists(Chemin) Then
            MkDir Chemin
        End If
        
 ' En fonction du cas de figure, on crée les répertoires nécessaires à la fiche.
        ' Le scénario est à exécuter sur la RSV1 OU la RSV2 :
        If strVersionRS = "RSV1" Or strVersionRS = "RSV2" Then
            If Not fs.folderexists(Chemin) Then
                MkDir Chemin
                MkDir Chemin & "\" & strVersionRS
                MkDir Chemin & "\" & strVersionRS & "\" & Scenario
                MkDir Chemin & "\" & strVersionRS & "\" & Scenario & "\VSB"
                MkDir Chemin & "\" & strVersionRS & "\" & Scenario & "\VIS"
            ElseIf Not fs.folderexists(Chemin & "\" & strVersionRS) Then
                MkDir Chemin & "\" & strVersionRS
                MkDir Chemin & "\" & strVersionRS & "\" & Scenario
                MkDir Chemin & "\" & strVersionRS & "\" & Scenario & "\VSB"
                MkDir Chemin & "\" & strVersionRS & "\" & Scenario & "\VIS"
            ElseIf Not fs.folderexists(Chemin & "\" & strVersionRS & "\" & Scenario) Then
                MkDir Chemin & "\" & strVersionRS & "\" & Scenario
                MkDir Chemin & "\" & strVersionRS & "\" & Scenario & "\VSB"
                MkDir Chemin & "\" & strVersionRS & "\" & Scenario & "\VIS"
            ElseIf Not fs.folderexists(Chemin & "\" & strVersionRS & "\" & Scenario & "\VSB") Then
                MkDir Chemin & "\" & strVersionRS & "\" & Scenario & "\VSB"
            ElseIf Not fs.folderexists(Chemin & "\" & strVersionRS & "\" & Scenario & "\VIS") Then
                MkDir Chemin & "\" & strVersionRS & "\" & Scenario & "\VIS"
            End If
            
            'ActiveWorkbook.SaveAs Chemin & "\" & strVersionRS & "\" & Scenario & "\SCN" & "_" & Scenario & "_" & madate & ".xls"
        
        ' Le scénario est à exécuter sur la RSV1 ET la RSV2 :
        ElseIf strVersionRS = "RSV1/RSV2" Then
            If Not fs.folderexists(Chemin) Then
                MkDir Chemin
                MkDir Chemin & "\RSV1"
                MkDir Chemin & "\RSV1\" & Scenario & "\VIS"
                MkDir Chemin & "\RSV1\" & Scenario & "\VSB"
                MkDir Chemin & "\RSV2"
                MkDir Chemin & "\RSV2\" & Scenario & "\VIS"
                MkDir Chemin & "\RSV2\" & Scenario & "\VSB"
            ElseIf Not fs.folderexists(Chemin & "\RSV1") Then
                MkDir Chemin & "\RSV1"
                MkDir Chemin & "\RSV1\" & Scenario
                MkDir Chemin & "\RSV1\" & Scenario & "\VSB"
                MkDir Chemin & "\RSV1\" & Scenario & "\VIS"
            ElseIf Not fs.folderexists(Chemin & "\RSV2") Then
                MkDir Chemin & "\RSV2"
                MkDir Chemin & "\RSV2\" & Scenario
                MkDir Chemin & "\RSV2\" & Scenario & "\VSB"
                MkDir Chemin & "\RSV2\" & Scenario & "\VIS"
            ElseIf Not fs.folderexists(Chemin & "\RSV1\" & Scenario) Then
                MkDir Chemin & "\RSV1\" & Scenario
                MkDir Chemin & "\RSV1\" & Scenario & "\VSB"
                MkDir Chemin & "\RSV1\" & Scenario & "\VIS"
            ElseIf Not fs.folderexists(Chemin & "\RSV2\" & Scenario) Then
                MkDir Chemin & "\RSV2\" & Scenario
                MkDir Chemin & "\RSV2\" & Scenario & "\VSB"
                MkDir Chemin & "\RSV2\" & Scenario & "\VIS"
            ElseIf Not fs.folderexists(Chemin & "\RSV1\" & Scenario & "\VSB") Then
                MkDir Chemin & "\RSV1\" & Scenario & "\VSB"
            ElseIf Not fs.folderexists(Chemin & "\RSV1\" & Scenario & "\VIS") Then
                MkDir Chemin & "\RSV1\" & Scenario & "\VIS"
            ElseIf Not fs.folderexists(Chemin & "\RSV2\" & Scenario & "\VSB") Then
                MkDir Chemin & "\RSV2\" & Scenario & "\VSB"
            ElseIf Not fs.folderexists(Chemin & "\RSV2\" & Scenario & "\VIS") Then
                MkDir Chemin & "\RSV2\" & Scenario & "\VIS"
            End If

        End If
        
        If strVersionRS = "RSV1" Then
            ActiveWorkbook.SaveAs Chemin & "\RSV1\" & Scenario & "\SCN" & "_" & Scenario & "_" & madate & ".xls"
        ElseIf strVersionRS = "RSV2" Then
            ActiveWorkbook.SaveAs Chemin & "\RSV2\" & Scenario & "\SCN" & "_" & Scenario & "_" & madate & ".xls"
        Else:
            MsgBox Chemin & "\RSV1\" & Scenario & "\SCN" & "_" & Scenario & "_" & madate & ".xls"
            ActiveWorkbook.SaveAs Chemin & "\RSV1\" & Scenario & "\SCN" & "_" & Scenario & "_" & madate & ".xls"
            ActiveWorkbook.SaveAs Chemin & "\RSV2\" & Scenario & "\SCN" & "_" & Scenario & "_" & madate & ".xls"
        End If
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 070
Membres
103 454
dernier inscrit
Marion devaux