Sub Test()
[C15:BT100].ClearContents ' Effacement feuille
Valeur = Array(3, 2, 1, 0) ' Tableau des valeurs à détecter
Ligne = Array(15, 19, 23, 27) ' Tableau des lignes à remplir
For i = 0 To UBound(Valeur) ' Remplissage des lignes
Remplit [C5:BT6].Offset(0, 0), Range("C" & Ligne(i) + 0 & ":BT" & Ligne(i) + 0), Valeur(i)
Remplit [C5:BT6].Offset(3, 0), Range("C" & Ligne(i) + 1 & ":BT" & Ligne(i) + 1), Valeur(i)
Remplit [C5:BT6].Offset(6, 0), Range("C" & Ligne(i) + 2 & ":BT" & Ligne(i) + 2), Valeur(i)
Next i
End Sub
Private Sub Remplit(PlageEntrée, PlageSortie, Nombre)
T = PlageEntrée: T2 = PlageSortie: C = 1 ' Données d'entrées
For i = 1 To UBound(T, 2) ' Pour toutes les colonnes
If T(1, i) = Nombre Then T2(1, C) = T(2, i): C = C + 1 ' On retient ou on rejette la valeur
Next i
PlageSortie.Resize(1, UBound(T2, 2)) = T2 ' On restitue le tableau en cellules
End Sub