Cherche solution pour avoir moins de IF.

Résolu
Tempus01 Messages postés 81 Date d'inscription mercredi 6 janvier 2021 Statut Membre Dernière intervention 27 septembre 2022 - 13 févr. 2021 à 12:09
vb95 Messages postés 3508 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 2 septembre 2024 - 14 févr. 2021 à 11:47
Bonjour le forum,

Je recherche un code qui me permettrait d'avoir moins de ligne de IF.

Je m'explique, mon code fonctionne bien mais il est trop lourd/long, je me demande si il n'existe pas une autre façon de procéder afin d'arriver au même résultats.

le Code me permet d'ouvrir un dossier, il y a 14 dossiers principal Music1 Music2,... jusqu'à Music14, puis les 3 sous dossier 2019, 2020 et 2021 et pour finir 1, 2, 3...12 pour les mois de l'année.

Exemple:

C: \Music1\2019\1\
C: \Music1\2019\2\
....
C: \Music1\2019\12\

C:\Music1\2020\1\
C: \Music1\2020\2\
....
C: \Music1\2020\12\

C:\Music1\2021\1\
C: \Music1\2021\2\
....
C: \Music1\2021\12\

Cela va jusqu'à Music 14.

Sur le formulaire il y a 3 combobox et un bouton.

Voici un bout de mon code.
 Dim Janvier As String
            Dim Février As String
            Dim Mars As String
            Dim Avril As String
            Dim Mai As String
            Dim Juin As String
            Dim Juillet As String
            Dim Août As String
            Dim Septembre As String
            Dim Octobre As String
            Dim Novembre As String
            Dim Décembre As String
 
            Dim V1 = "\1"
            Dim V2 = "\2"
            Dim V3 = "\3"
            Dim V4 = "\4"
            Dim V5 = "\11"
            Dim V6 = "\5"
            Dim V7 = "\6"
            Dim V8 = "\7"
            Dim V9 = "\8"
            Dim V10 = "\9"
            Dim V11 = "\10"
            Dim V12 = "\12"
 
 Dim Dossier2019 = "C: \Music1\2019"
 Dim Dossier2020 = "C: \Music1\2020"
 Dim Dossier2021 = "C: \Music1\2021"
 
 
        ComboBox1.Items.Add("Music1")
        ComboBox1.Items.Add("Music2")
        ComboBox1.Items.Add("Music3")
        ComboBox1.Items.Add("Music4")
        ComboBox1.Items.Add("Music5")
        ComboBox1.Items.Add("Music6")
        ComboBox1.Items.Add("Music7")
        ComboBox1.Items.Add("Music8")
        ComboBox1.Items.Add("Music9")
        ComboBox1.Items.Add("Music10")
        ComboBox1.Items.Add("Music11")
        ComboBox1.Items.Add("Music12")
        ComboBox1.Items.Add("Music13")
        ComboBox1.Items.Add("Music14")
 
        ComboBox3.Items.Add("Janvier")
        ComboBox3.Items.Add("Février")
        ComboBox3.Items.Add("Mars")
        ComboBox3.Items.Add("Avril")
        ComboBox3.Items.Add("Mai")
        ComboBox3.Items.Add("Juin")
        ComboBox3.Items.Add("Juillet")
        ComboBox3.Items.Add("Août")
        ComboBox3.Items.Add("Septembre")
        ComboBox3.Items.Add("Octobre")
        ComboBox3.Items.Add("Novembre")
        ComboBox3.Items.Add("Décembre") 
 
        ComboBox2.Items.Add("2021")
        ComboBox2.Items.Add("2020")
        ComboBox2.Items.Add("2019")
 
 
 
 If ComboBox1.Text = "Music1" And ComboBox2.Text = "2021" And ComboBox3.Text = "Janvier" Then
                Janvier = Dossier2021 + V1
                Process.Start(Janvier)

J'ai donc des dizaines et des dizaines de IF....

Avez vous une idée pour raccourcir le code ?

Merci le forum,

6 réponses

vb95 Messages postés 3508 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 2 septembre 2024 169
13 févr. 2021 à 13:02
Bonjour
Rien ne vaut un cours complet en pdf : https://plasserre.developpez.com/cours/vb-net/
1