1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| range(F150).value = 8.6
.AutoFilter field:=7, Criteria1:=">" & range(F150).value
'mais ça ne marche pas non plus
Sub prixCoutant2()
Dim Annee_Impresson As Integer, ArgentVal As Integer, Nb As Integer
Dim Dossier As String
Dim Valeur As Double, LastLig As Double
Application.ScreenUpdating = False
'initialization des variables
Dossier = "EYI8600000"
ArgentVal = 20 ' 20$
Valeur = Right(Dossier, 7) / 1000000
'MsgBox Valeur '8,6
Annee_Impresson = 2004
'Valeur des colonnes
' A B C D E F G H I
'20 2004 Je Pn EYI 7,92 8,28 20 25
'20 2004 Je Pn EYI 8,505 9 20 25
'20 2004 Je Pn EYI 9,36 10 20 25
'pour trouver la réponse de la deuxième colonne: Instruction
With Sheets("try2")
.AutoFilterMode = False
LastLig = .Cells(.Rows.Count, 1).End(xlUp).Row
With .Range("A1:H" & LastLig)
.AutoFilter field:=1, Criteria1:="<>"
.AutoFilter field:=2, Criteria1:=Annee_Impresson
.AutoFilter field:=3, Criteria1:="Je"
.AutoFilter field:=4, Criteria1:="Pn"
.AutoFilter field:=5, Criteria1:="EYI" 'Left(Dossier, 3) & "*"
.AutoFilter field:=6, Criteria1:="<=8.6" ' & Valeur
'la colonne 6 doit être plus petit que 8.6
.AutoFilter field:=7, Criteria1:=">8.6" '& Valeur
''la colonne 7 doit être plus grand que 8.6
End With
Nb = .Range("A1:A" & LastLig).SpecialCells(xlCellTypeVisible).Count - 1
If Nb > 1 Then
MsgBox Nb & " résultat(s) trouvé(s)"
ElseIf Nb = 1 Then MsgBox "Le résultat trouvé " & _
.Range("H2:H" & LastLig).SpecialCells(xlCellTypeVisible).Value
Else
MsgBox "Il n'y a pas de correspondance"
End If
.AutoFilterMode = False
End With
End Sub |
Partager