Bonjour,
Y-a-t-il moyen de réduire ce test ?
Je n'ai mis que 3 valeurs, mais il y en aura peut-etre plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part If (var <> 0 And var <> 1 And var <> 2) Then Exit Sub
Merci.
Bonjour,
Y-a-t-il moyen de réduire ce test ?
Je n'ai mis que 3 valeurs, mais il y en aura peut-etre plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part If (var <> 0 And var <> 1 And var <> 2) Then Exit Sub
Merci.
Celà va dépendre ....
1) n'as-tu que des valeurs positives ?
2) ces valeurs sont-elles continues ou avec solutions de contuinité ?
3) il y en aura combien en tout ?
En fait, j'ai simplifié parce que ce ne sont pas des nombres mais des chaines de caractères (extensions de fichier).
Ce sont des chaines "pré-definies" que je teste en dur.
alors une solution serait de mettre toutes les possibilité dans un tableau, puis losrque tu le souhaites, de faire une recherche sur ce tableau de la variable "var"
deux possibilité, soit tu atteind la taille du tableau, alors la variable n'y est pas, soit tu t'arrêtes avant, alors la variable y est ...
si tu en as beaucoup et de façon disparate : un truc :
Maintenant, si ce sont des chaines de caractères, :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 dim mavar as string mavar = "/1/2/3/9/25/TOTO/VOILA/55/78/ETC/1234/TITI/ISABELLE/.../" var_a_tester = "/" & str(var) & "/" if instr(mavar, var_a_tester) = 0 then exit sub
var_a_tester = "/" & var & "/", bien sur
Ca fonctionne super bien.
Je trouve que c'est plus propre au niveau des modifications.
Si on veut rajouter ou supprimer des chaines, on modifie la variable et non le code!
Merci.
Si ce sont des extensions, tu as aussi like
Tu concatènes tes variables texte dans Resultat
ou var1 = "*.xls*"
Code : Sélectionner tout - Visualiser dans une fenêtre à part Ok = Resultat like Var1 = true
Tu peux tester avec uncode de SilkyRoad que je commence à avoir usé jusqu'à la corde...
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Sub DirFichier() ' => SilkyRoad modifié Dim Direction As String, Resultat As String Dim Chemin Chemin = "D:\xls\" Direction = Dir("D:\xls\*.*", 2) Do While Len(Direction) > 0 If (GetAttr(Chemin & Direction) And vbNormal) = vbNormal Then Resultat = Resultat & Chr(13) & Direction End If Direction = Dir() Loop If Resultat = "" Then MsgBox "Le répertoire est vide ." Else MsgBox Resultat, , "Liste des fichiers du répertoire . " End If If Resultat Like var1 Then MsgBox "J'ai un xls" End Sub
Partager