Option Explicit
Public Function ExistFeuil(sNomFeuille As String) As Boolean
'********************************************************************************************
' Nom : ExistFeuil
' But : Teste si la feuille existe
' Syntaxe :ExistFeuil(Nom de la feuille)
' Resultat :Vrai si Feuille existe, Faux si elle n'existe pas
'********************************************************************************************
On Error GoTo Err_ExistFeuil
ExistFeuil = False
ExistFeuil = Not ActiveWorkbook.Worksheets(sNomFeuille) Is Nothing
Err_ExistFeuil:
End Function
Public Sub AlimenteListInventaire(argument) 'la fonction est argumentée par la valeur de la combo
Dim Coul, TC, arg, ok As Boolean, col, Dernligne, I&, K&
Sheets("Costumes").Activate
Dernligne = Sheets("Costumes").Range("A65536").End(xlUp).Row
TC = Sheets("Costumes").Range("A2:P" & Dernligne).Value
With UsfCostume
With .ListView5
With .ColumnHeaders
.Clear
.Add , , "N°", 0
.Add , , "Groupe", 85, lvwColumnCenter
.Add , , "Costume", 85, lvwColumnCenter
.Add , , "D/I", 0 ', lvwColumnCenter
.Add , , "Prêt", 0
.Add , , "S", 0, lvwColumnCenter
.Add , , "M", 0, lvwColumnCenter
.Add , , "L", 0, lvwColumnCenter
.Add , , "XL", 0, lvwColumnCenter
.Add , , "XXL", 0, lvwColumnCenter
.Add , , "Coiffe", 37, lvwColumnCenter
.Add , , "Gants", 37, lvwColumnCenter
.Add , , "Ceinture", 37, lvwColumnCenter
.Add , , "Jupon", 37, lvwColumnCenter
.Add , , "Chaussures", 37, lvwColumnCenter
.Add , , "Obs", 0
End With
.FullRowSelect = True 'Permet le sélection de toute la ligne
.View = lvwReport 'Affichage en mode Rapport
.Gridlines = True
'Cost = 0
.ListItems.Clear
'----------------------------
UsfCostume.TextBox2 = 0
UsfCostume.TextBox3 = 0
UsfCostume.TextBox4 = 0
'ici on va gérer 2 argument colonne et valeur dans col4 et 5 en fonction de la valeur de la combo
' donc selon la valeur on examine la colonne 4 ou 5
Select Case argument
Case "Tous costumes": arg = "*": col = 4
Case "Costumes disponibles": arg = "D": col = 4
Case "Costumes prêtés": arg = "*": col = 5
Case "Costumes indisponibles": arg = "I": col = 4
End Select
'ici une variable tableau issue d'une plage est toujours en base 1 on commence a 1 et non 2 comme tu le faisait
' ET PUIS QUAND ON TRAVAIL L'EXAMEN AVEC UNE VARIABLE TABLEAU ON NE SE SERT PAS DE CELLS(i,k)MAIS DE TC(i,k)
' espece de saucisse !!!!!!!
For I = 1 To UBound(TC, 1)
ok = False
If col <> 5 Then If CStr(TC(I, col)) Like arg Then ok = True 'si col et arg correspondent alors ok =True
If col = 5 Then If Val(TC(I, col)) > 0 Then ok = True ' pareille memeprincipe pour la colonne 5 si choix "pretés"
If ok = True Then 'si ok donc on envoie la sauce
'la couleur si col 4 ou 5 ="D" ou "I" ou col5>0
If TC(I, 4) = "I" Then Coul = vbRed Else Coul = vbBlack
If TC(I, 5) <> "" Then Coul = vbBlue Else Coul = Coul
.ListItems.Add , , TC(I, 1)
For K = 2 To 16
.ColumnHeaders(K).Alignment = lvwColumnCenter
.ListItems(.ListItems.Count).ListSubItems.Add , , TC(I, K), , lvwColumnCenter
Next
For K = 1 To 15: .ListItems(.ListItems.Count).ListSubItems(K).ForeColor = Coul: Next K
End If
'et voila c'est comme chez Renault "c'est simple"
' maintenant les décomptes dans textboxs
If TC(I, 4) = "D" Then UsfCostume.TextBox2 = UsfCostume.TextBox2 + 1
If TC(I, 5) > 0 Then UsfCostume.TextBox3 = UsfCostume.TextBox3 + 1
UsfCostume.TextBox4 = UsfCostume.TextBox4 + 1
Next
'termineé
End With
End With
End Sub
Public Sub OuvreForm()
UsfCostume.Show
End Sub