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 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
|
Private Sub Aff_parametres_Click()
parametres.Show
End Sub
Private Sub Imprimer_Click()
If Application.Dialogs(xlDialogPrinterSetup).Show = True Then Recherche.PrintForm
End Sub
Private Sub ListBoxParquet_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'pour ouvrir un fichier pdf
Shell "cmd /c start acrord32.exe ""C:\Documents and Settings\FABIEN.ARB114\Bureau\Demande de prix parquet\Fiches techniques\quorum.pdf"""
End Sub
Private Sub RechercheC1_Change()
' Rechercher les données en fonction des critères sélectionnés
Call Rechercher
End Sub
Private Sub RechercheC2_Change()
Call Rechercher
End Sub
Private Sub RechercheC3_Change()
Call Rechercher
End Sub
Private Sub RechercheC4_Change()
Call Rechercher
End Sub
Private Sub RechercheC5_Change()
Call Rechercher
End Sub
Private Sub RechercheC6_Change()
Call Rechercher
End Sub
Private Sub RechercheC7_Change()
Call Rechercher
End Sub
Private Sub RechercheC8_Change()
Call Rechercher
End Sub
Private Sub RechercheC9_Change()
Call Rechercher
End Sub
Private Sub RechercheC10_Change()
Call Rechercher
End Sub
Private Sub UserForm_Initialize()
Range("A2").Select
' Initialiser les listes des critères
Call InitCombo(RechercheC1, "A")
Call InitCombo(RechercheC2, "B")
Call InitCombo(RechercheC3, "D")
Call InitCombo(RechercheC4, "E")
Call InitCombo(RechercheC5, "F")
Call InitCombo(RechercheC6, "G")
Call InitCombo(RechercheC7, "H")
Call InitCombo(RechercheC8, "I")
Call InitCombo(RechercheC9, "J")
Call InitCombo(RechercheC10, "M")
' Rechercher les données en fonction des critères sélectionnés
' ce call est pas obligatoire, tester sans
Call Rechercher
End Sub
Private Sub Rechercher()
' Rechercher les données en fonction des critères
Dim rCel As Range
Dim lgLig As Long
Dim lgLigDeb As Long
Dim i As Integer
Dim j As Integer
Dim Critere1 As String
Dim Critere2 As String
Dim Critere3 As String
Dim Critere4 As String
Dim Critere5 As String
Dim Critere6 As String
Dim Critere7 As String
Dim Critere8 As String
Dim Critere9 As String
Dim Critere10 As String
Critere1 = "*"
If RechercheC1.Value <> "" Then Critere1 = RechercheC1.Value
Critere2 = "*"
If RechercheC2.Value <> "" Then Critere2 = RechercheC2.Value
Critere3 = "*"
If RechercheC3.Value <> "" Then Critere3 = RechercheC3.Value
Critere4 = "*"
If RechercheC4.Value <> "" Then Critere4 = RechercheC4.Value
Critere5 = "*"
If RechercheC5.Value <> "" Then Critere5 = RechercheC5.Value
Critere6 = "*"
If RechercheC6.Value <> "" Then Critere6 = RechercheC6.Value
Critere7 = "*"
If RechercheC7.Value <> "" Then Critere7 = RechercheC7.Value
Critere8 = "*"
If RechercheC8.Value <> "" Then Critere8 = RechercheC8.Value
Critere9 = "*"
If RechercheC9.Value <> "" Then Critere9 = RechercheC9.Value
Critere10 = "*"
If RechercheC10.Value <> "" Then Critere10 = RechercheC10.Value
ListBoxParquet.Clear
Dim Tableau() As Variant
' Boucle de la 2me à la dernière ligne de la feuille
For lgLigDeb = 2 To Range("A" & Cells.Rows.Count).End(xlUp).Row
If Range("A" & lgLigDeb).Value Like Critere1 And Range("B" & lgLigDeb).Value Like Critere2 And Range("D" & lgLigDeb).Value Like Critere3 And _
Range("E" & lgLigDeb).Value Like Critere4 And Range("F" & lgLigDeb).Value Like Critere5 And Range("G" & lgLigDeb).Value Like Critere6 And _
Range("H" & lgLigDeb).Value Like Critere7 And Range("I" & lgLigDeb).Value Like Critere8 And Range("J" & lgLigDeb).Value Like Critere9 And _
Range("M" & lgLigDeb).Value Like Critere10 Then
i = i + 1
j = 1
ReDim Preserve Tableau(1 To 13, 1 To i)
If RechercheC1.Value = "" Then
Tableau(j, i) = Range("A" & lgLigDeb).Value
j = j + 1
End If
If RechercheC2.Value = "" Then
Tableau(j, i) = Range("B" & lgLigDeb).Value
j = j + 1
End If
Tableau(j, i) = Range("C" & lgLigDeb).Value
j = j + 1
If RechercheC3.Value = "" Then
Tableau(j, i) = Range("D" & lgLigDeb).Value
j = j + 1
End If
If RechercheC4.Value = "" Then
Tableau(j, i) = Range("E" & lgLigDeb).Value
j = j + 1
End If
If RechercheC5.Value = "" Then
Tableau(j, i) = Range("F" & lgLigDeb).Value
j = j + 1
End If
If RechercheC6.Value = "" Then
Tableau(j, i) = Range("G" & lgLigDeb).Value
j = j + 1
End If
If RechercheC7.Value = "" Then
Tableau(j, i) = Range("H" & lgLigDeb).Value
j = j + 1
End If
If RechercheC8.Value = "" Then
Tableau(j, i) = Range("I" & lgLigDeb).Value
j = j + 1
End If
If RechercheC9.Value = "" Then
Tableau(j, i) = Range("J" & lgLigDeb).Value
j = j + 1
End If
Tableau(j, i) = Range("K" & lgLigDeb).Value
j = j + 1
If parametres.bouton_pv = True Then
Tableau(j, i) = Range("L" & lgLigDeb).Value * parametres.Coeff.Value
Else
Tableau(j, i) = Range("L" & lgLigDeb).Value
End If
'j = j + 1
'Tableau(j, i) = lgLigDeb
End If
Next lgLigDeb
ListBoxParquet.List() = Application.Transpose(Tableau)
End Sub
Private Sub InitCombo(LCombo As Object, nomCol As String)
Dim lig As Long
Dim nbElement As Integer
Dim trouveElm As Boolean
LCombo.Clear
' Boucle de la ligne 2 à la dernière ligne dans la colonne nomCol
For lig = 2 To Range(nomCol & Cells.Rows.Count).End(xlUp).Row
trouveElm = False
' Vérifier que l'élément à ajouter dans la liste n'existe pas déjà
For nbElement = 0 To LCombo.ListCount - 1
' L'élément est déjà présent dans la liste, sortie de la boucle
If LCombo.List(nbElement) = Range(nomCol & lig).Value Then
trouveElm = True
Exit For
End If
Next nbElement
' Elément non trouvé dans la liste, l'ajouter
If trouveElm = False Then LCombo.AddItem Range(nomCol & lig).Value
Next lig
End Sub |
Partager