Bonjour
je bute bêtement sur le fonctionnement de la boucle if then else.
Je m'explique
Pour alléger mon programme, je voudrais paramétrer la valeur de comparaison de la boucle.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
If ws1.Cells(i, 17) <> CRIT Then
                'Remplissage d'un tableau
Else
End If
CRIT est un critère, choisi au début du programme par msgbox, il prend les valeurs string "G" ou "S" que je voudrais paramétrer dans cette boucle

CRIT peut prendre les valeurs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Dim CRIT as string
CRIT = "G"
ou
et tester sur CRIT sans avoir besoin de créer deux boucles, selon le critère CRIT, vous m'avez compris.
Mais ça ne semble pas fonctionner.
C'est sans doute simple comme question mais je ne vois pas:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim CRIT as string
If MsgBox("Import des données de G ?", vbYesNo, "Choix du site") = vbYes Then
    CRIT = "G"
   Else
    CRIT = "S"
End If
 
For i = PL to DL
‘ PL et DL sont les première et dernière ligne
If ws1.Cells(i, 17) <> CRIT Then
                'Remplissage d'un tableau
Else
End If