Création boucle for pour remplacer une sérier de if
Bonjour bonjour !
j'ai écrit un code permettant de faire une comparaison de contenu de cellule avec un enchaînement de IF - ELSE et je cherche à passer en boucle for pour alléger le code ...
J'ai écrit cet enchaînement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Function module(number As Range)
If InStr(1, number, Sheets("Modules").Range("A3").Value, Compare) >= 1 Then
module = "type 1"
Else
If InStr(1, number, Sheets("Modules").Range("A4").Value, Compare) >= 1 Then
module = "type 1"
Else
If InStr(1, number, Sheets("Modules").Range("A5").Value, Compare) >= 1 Then
module = "type 1"
Else
If InStr(1, number, Sheets("Modules").Range("A6").Value, Compare) >= 1 Then
module = "type 1"
End If
End If
End If
End If |
j'aimerai passer à un truc du style :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Function module( number As Range)
Application.Volatile
Dim Active_cell As String
For i = 3 To 6
Active_cell = Sheets("Modules").Cells(A, i).Value
If InStr(1, number, Active_cell, Compare) >= 1 Then
module = "type 1"
Else
module = "autre version"
End If
Next |
Seulement la fonction me retourne uniquement le message #VALEUR alors que mes If fonctionnent ..
sauriez vous comment faire ?
Merci en avance !! :)