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 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292
|
Option Explicit
Private Sub UserForm_Initialize()
DoEvents
Call maj_liste_dero
Call maj_liste_da
Call maj_liste_pv
Call maj_liste_enq_amont
' je reviens à ma feuille initiale (variable déclaré en public)
Worksheets(feuille_courante).Select
End Sub
Private Sub maj_liste_dero()
'--------------------------------------
' MISE A JOUR LISTE VIEW DERO
'--------------------------------------
Dim num_1ereligne_filtree_der As Integer
Dim num_derniere_ligne_der As Integer
Dim ligne_der As Integer
Dim cell As Range
Dim i As Integer
liste_dero.FullRowSelect = True
liste_dero.Gridlines = False
lbl_prev_solde_be.Visible = False
txt_der_pos.Visible = False
txt_enga_be.Visible = False
liste_dero.LabelEdit = 1
'Je récupère les valeurs des variables et j'active la feuille des DERO sur encours_1
Worksheets("Dero sur encours_1").Activate
' Je récupère le numéro de la première ligne filtrée
ligne_der = 2
Do While Range("_FilterDataBase").Rows(ligne_der).Hidden
ligne_der = ligne_der + 1
Loop
Range("_FilterDataBase").Cells(ligne_der, 1).Select
num_1ereligne_filtree_der = ActiveCell.Row
' Je récupère le numéro de la dernière ligne filtrée
Worksheets("Dero sur encours_1").Activate
num_derniere_ligne_der = Range("A65536").End(xlUp).Row
' Si il n'y a pas de dero alors je lance la macro suivante sinon je poursuis la macro
If num_derniere_ligne_der = 5 Then 'si le n° de la dernière ligne = n° de la ligne de l'entête de colonne alors pas de déro
maj_liste_da
Else
' Je rempli les en-têtes
With liste_dero
With .ColumnHeaders
.Clear
.Add , , "Num déro", 60
.Add , , "Pos", 35
.Add , , "Type", 35
.Add , , "Emission le", 60
.Add , , "Signature BE le", 70
.Add , , "Prev Signature BE", 70
.Add , , "Signature DIN le", 70
.Add , , "Signature Q le", 70
.Add , , "Commentaire Responsable Technique ", 120
.Add , , "Commentaire Emetteur", 120
.Add , , "DER & POS", 35
End With
'Les autres lignes contiennent les données
For Each cell In Worksheets("Dero sur encours_1").Range("A" & num_1ereligne_filtree_der & ":A" & num_derniere_ligne_der)
If cell.EntireRow.Hidden = False Then
i = i + 1
.ListItems.Add , , cell.Offset(0, 3)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 4)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 6)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 7)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 8)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 9)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 10)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 11)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 13)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 14)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 15)
End If
Next
End With
'"End if" de la verif si pas de dero
End If
'Spécifie l'affichage en mode "Détails"
liste_dero.View = lvwReport
End Sub
Sub maj_liste_da()
'--------------------------------------
' MISE A JOUR LISTE VIEW DA
'--------------------------------------
Dim num_1ereligne_filtree_da As Integer
Dim num_derniere_ligne_da As Integer
Dim ligne_da As Integer
Dim i As Integer
Dim cell As Range
liste_da.FullRowSelect = True
liste_da.Gridlines = False
Dim Nbr_visible As Integer
'Je récupère les valeurs des variables et j'active la feuille des da sur encours_1
Worksheets("da sur encours_2").Activate
' Je récupère le numéro de la première ligne filtrée
ligne_da = 2
Do While Range("_FilterDataBase").Rows(ligne_da).Hidden
ligne_da = ligne_da + 1
Loop
Range("_FilterDataBase").Cells(ligne_da, 1).Select
num_1ereligne_filtree_da = ActiveCell.Row
' Je récupère le numéro de la dernière ligne filtrée
Worksheets("da sur encours_2").Activate
num_derniere_ligne_da = Range("A65536").End(xlUp).Row
' Si il n'y a pas de da alors je lance la macro suivante sinon je poursuis la macro
If num_derniere_ligne_da = 4 Then 'si le n° de la dernière ligne = n° de la ligne de l'entête de colonne alors pas de da
maj_liste_pv
Else
' Je rempli les en-têtes
With liste_da
With .ColumnHeaders
.Clear
.Add , , "DA", 70
.Add , , "Date émission", 70
.Add , , "Commentaire", 500
End With
'Nbr_visible = Worksheets("da sur encours_2").Range("A" & num_1ereligne_filtree_da & ":A" & num_derniere_ligne_da).Rows.Count
'MsgBox "Nb de ligne visible" & Nbr_visible
'For i = 1 To 2
'' If cell.EntireRow.Hidden = False Then
' .ListItems.Add , , cell.Offset(0, 3)
' End If
'Next i
'Les autres lignes contiennent les données
For Each cell In Worksheets("da sur encours_2").Range("A" & num_1ereligne_filtree_da & ":A" & num_derniere_ligne_da)
If cell.EntireRow.Hidden = False Then
i = i + 1
.ListItems.Add , , cell.Offset(0, 3)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 4)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 6)
End If
Next cell
End With
'"End if" de la verif si pas de da
End If
'Spécifie l'affichage en mode "Détails"
liste_da.View = lvwReport
End Sub
Sub maj_liste_pv()
'--------------------------------------
' MISE A JOUR LISTE VIEW PV
'--------------------------------------
Dim num_1ereligne_filtree_pv As Integer
Dim num_derniere_ligne_pv As Integer
Dim ligne_pv As Integer
Dim cell As Range
Dim i As Integer
liste_pv.FullRowSelect = False
liste_pv.Gridlines = False
'Je récupère les valeurs des variables et j'active la feuille des PV sur encours_3
Worksheets("PV sur encours_3").Activate
' Je récupère le numéro de la première ligne filtrée
ligne_pv = 2
Do While Range("_FilterDataBase").Rows(ligne_pv).Hidden
ligne_pv = ligne_pv + 1
Loop
Range("_FilterDataBase").Cells(ligne_pv, 1).Select
num_1ereligne_filtree_pv = ActiveCell.Row
' Je récupère le numéro de la dernière ligne filtrée
Worksheets("PV sur encours_3").Activate
num_derniere_ligne_pv = Range("A65536").End(xlUp).Row
' Si il n'y a pas de pv alors je reviens sur la feuille initiale sinon je poursuis la macro
If num_derniere_ligne_pv = 4 Then
maj_liste_enq_amont
Else
' Je rempli les en-têtes
With liste_pv
With .ColumnHeaders
.Clear
.Add , , "Num PV", 60
.Add , , "Création le", 60
.Add , , "Description anomalie", 400
End With
'Les autres lignes contiennent les données
For Each cell In Worksheets("Pv sur encours_3").Range("A" & num_1ereligne_filtree_pv & ":A" & num_derniere_ligne_pv)
If cell.EntireRow.Hidden = False Then
i = i + 1
.ListItems.Add , , cell.Offset(0, 3)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 4)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 6)
End If
Next
End With
'"End if" de la verif si pas de pv
End If
'Spécifie l'affichage en mode "Détails"
liste_pv.View = lvwReport
End Sub
Sub maj_liste_enq_amont()
'--------------------------------------
' MISE A JOUR LISTE VIEW ENQ AMONT
'--------------------------------------
Dim num_1ereligne_filtree_enq_amont As Integer
Dim num_derniere_ligne_enq_amont As Integer
Dim ligne_enq_amont As Integer
Dim cell As Range
Dim i As Integer
liste_enq_amont.FullRowSelect = False
liste_enq_amont.Gridlines = False
'Je récupère les valeurs des variables et j'active la feuille des ENQ AMONT
Worksheets("ENQ AMONT").Activate
' Je récupère le numéro de la première ligne filtrée
ligne_enq_amont = 2
Do While Range("_FilterDataBase").Rows(ligne_enq_amont).Hidden
ligne_enq_amont = ligne_enq_amont + 1
Loop
Range("_FilterDataBase").Cells(ligne_enq_amont, 1).Select
num_1ereligne_filtree_enq_amont = ActiveCell.Row
' Je récupère le numéro de la dernière ligne filtrée
Worksheets("ENQ AMONT").Activate
num_derniere_ligne_enq_amont = Range("A65536").End(xlUp).Row
' Si il n'y a pas de pv alors je reviens sur la feuille initiale sinon je poursuis la macro
If num_derniere_ligne_enq_amont = 1 Then
Worksheets(feuille_courante).Select
Else
' Je rempli les en-têtes
With liste_enq_amont
With .ColumnHeaders
.Clear
.Add , , "Num Enq Amont", 60
.Add , , "Création le", 60
.Add , , "Description anomalie", 400
End With
'Les autres lignes contiennent les données
For Each cell In Worksheets("ENQ AMONT").Range("A" & num_1ereligne_filtree_enq_amont & ":A" & num_derniere_ligne_enq_amont)
If cell.EntireRow.Hidden = False Then
i = i + 1
.ListItems.Add , , cell.Offset(0, 0)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 1)
.ListItems(i).ListSubItems.Add , , cell.Offset(0, 8)
End If
Next
End With
'"End if" de la verif si pas de pv
End If
'Spécifie l'affichage en mode "Détails"
liste_enq_amont.View = lvwReport
End Sub |