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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
| Private Sub CommandButton1_Click()
'Variables
Dim type_f As String
Dim largeur_f As String
Dim forme_f As String
Dim type_porte_f As String
Dim hauteur_porte_f As Double
Dim materiau_f As String
Dim nb_battant_f As Integer
Dim pilier_f As Double
Dim coteC_f As Double
Dim coteE_f As Double
Dim ouv_f As Double
Dim tension_f As Integer
Dim poids_max_min_k As Double
Dim poids_max_max_k As Double
Dim traction_max_max_k As Double
Dim traction_max_min_k As Double
Dim largeur_max_min_k As Double
Dim largeur_max_max_k As Double
Dim hauteur_max_min_k As Double
Dim hauteur_max_max_k As Double
Dim tmp As Range
Dim result As Range
'Stockage des infos clients
If ComboBox1.Value = "PORTAIL BATTANT" Then
type_f = "BATTANT"
largeur_f = ComboBox2.Value
forme_f = ComboBox3.Value
materiau_f = ComboBox4.Value
nb_battant_f = OptionButton1.Value
tension_f = OptionButton3.Value
ElseIf ComboBox1.Value = "PORTAIL COULISSANT" Then
type_f = "COULISSANT"
largeur_f = ComboBox2.Value
forme_f = ComboBox3.Value
materiau_f = ComboBox4.Value
tension_f = OptionButton3.Value
ElseIf ComboBox1.Value = "PORTE GARAGE" Then
type_f = "GARAGE"
type_porte_f = ComboBox2.Value
hauteur_porte_f = ComboBox3.Value
tension_f = OptionButton3.Value
End If
Worksheets("Relations").Activate
If ComboBox1.Value = "PORTAIL BATTANT" Then
'Traitement du besoin
With Worksheets("Relations")
If .FilterMode = True Then .ShowAllData
.Range("A1").AutoFilter Field:=2, Criteria1:=type_f
.Range("A1").AutoFilter Field:=6, Criteria1:=largeur_f
.Range("A1").AutoFilter Field:=7, Criteria1:=forme_f
.Range("A1").AutoFilter Field:=8, Criteria1:=materiau_f
Set tmp = ActiveCell.CurrentRegion.SpecialCells(xlCellTypeVisible)
tmp.Select
tmp.Copy Feuil7.Range("A1")
End With
ElseIf ComboBox1.Value = "PORTAIL COULISSANT" Then
With Worksheets("Relations")
If .FilterMode = True Then .ShowAllData
.Range("A1").AutoFilter Field:=2, Criteria1:=type_f
.Range("A1").AutoFilter Field:=6, Criteria1:=largeur_f
.Range("A1").AutoFilter Field:=7, Criteria1:=forme_f
.Range("A1").AutoFilter Field:=8, Criteria1:=materiau_f
Set tmp = ActiveCell.CurrentRegion.SpecialCells(xlCellTypeVisible)
tmp.Select
tmp.Copy Feuil7.Range("A1")
End With
ElseIf ComboBox1.Value = "PORTE GARAGE" Then
With Worksheets("Relations")
If .FilterMode = True Then .ShowAllData
.Range("A1").AutoFilter Field:=2, Criteria1:=type_f
.Range("A1").AutoFilter Field:=3, Criteria1:=type_porte_f
.Range("A1").AutoFilter Field:=6, Criteria1:=hauteur_porte_f
Set tmp = ActiveCell.CurrentRegion.SpecialCells(xlCellTypeVisible)
tmp.Select
tmp.Copy Feuil7.Range("A1")
End With
End If
Worksheets("Relations").AutoFilterMode = False
With Worksheets("tmp")
Worksheets("tmp").Activate
poids_max_min_k = .Range("L2")
poids_max_max_k = .Range("M2")
traction_max_min_k = .Range("N2")
traction_max_max_k = .Range("O2")
largeur_max_min_k = .Range("P2")
largeur_max_max_k = .Range("Q2")
hauteur_max_min_k = .Range("R2")
hauteur_max_max_k = .Range("S2")
End With
If ComboBox1.Value = "PORTAIL BATTANT" Then
'Traitement des résultats
With Worksheets("BASE")
Worksheets("BASE").Activate
If .FilterMode = True Then .ShowAllData
.Range("A1").AutoFilter Field:=9, Criteria1:="PORTAIL BATTANT"
.Range("A1").AutoFilter Field:=20, Criteria1:=">=" & largeur_max_min_k, Operator:=xlAnd, Criteria2:="<" & largeur_max_max_k
.Range("A1").AutoFilter Field:=21, Criteria1:=">=" & poids_max_min_k, Operator:=xlAnd, Criteria2:="<" & poids_max_max_k
Set result = ActiveCell.CurrentRegion.SpecialCells(xlCellTypeVisible)
result.Select
result.Copy Feuil9.Range("A1")
End With
ElseIf ComboBox1.Value = "PORTAIL COULISSANT" Then
With Worksheets("BASE")
Worksheets("BASE").Activate
If .FilterMode = True Then .ShowAllData
.Range("A1").AutoFilter Field:=9, Criteria1:="PORTAIL COULISSANT"
.Range("A1").AutoFilter Field:=20, Criteria1:=">=" & largeur_max_min_k, Operator:=xlAnd, Criteria2:="<" & largeur_max_max_k
.Range("A1").AutoFilter Field:=21, Criteria1:=">=" & poids_max_min_k, Operator:=xlAnd, Criteria2:="<" & poids_max_max_k
Set result = ActiveCell.CurrentRegion.SpecialCells(xlCellTypeVisible)
result.Select
result.Copy Feuil9.Range("A1")
End With
ElseIf ComboBox1.Value = "PORTE GARAGE" Then
With Worksheets("BASE")
Worksheets("BASE").Activate
If .FilterMode = True Then .ShowAllData
.Range("A1").AutoFilter Field:=9, Criteria1:="PORTE GARAGE"
.Range("A1").AutoFilter Field:=15, Criteria1:=">=" & hauteur_max_min_k, Operator:=xlAnd, Criteria2:="<" & hauteur_max_max_k
.Range("A1").AutoFilter Field:=22, Criteria1:=">=" & traction_max_min_k, Operator:=xlAnd, Criteria2:="<" & traction_max_max_k
Set result = ActiveCell.CurrentRegion.SpecialCells(xlCellTypeVisible)
result.Select
result.Copy Feuil9.Range("A1")
End With
End If
End Sub |