' déclaration des variables
Dim colonne As Integer
Dim i As Integer, j As Integer
Private Sub Cbophaseactivité_Change()
'Initialisation des variables
i = 1
j = 39
j = 53
'on vide la liste déroulante des risques afin de ne pas cumuler les enregistrements
frmrecherche.Cborisque.Clear
'On retire les couleurs de remplissage des en-tetes
Sheets("feuil2").Range("a39,af39").Interior.ColorIndex = Clear
Sheets("feuil2").Range("a52,o52").Interior.ColorIndex = Clear
'on boucle pour récupérer chacun des risques de la phase d'activité sélectionné
Do While Cells(j, i).Value <> ""
'on test que l'unité de travail dans la liste déroulante soit identique
If Cells(j, i).Value = Cbophaseactivité.Value Then
'si oui
'on sélectionne la cellule de la phase d'activité
Cells(j, i).Select
'on y ajoute une couleur de remplissage
ActiveCell.Interior.ColorIndex = 32
'on récupère son positionnement par le numéro de la colonne
colonne = ActiveCell.Column
End If
i = i + 1 'on incrémente le numéro de colonne
Loop
'on boucle les lignes pour récupérer les risques de chaque unité
Do While Cells(j, colonne).Value <> ""
'On charge les risques dans la liste déroulante des phase d'activité
frmrecherche.Cborisque.AddItem Cells(j, colonne)
j = j + 1 'on incrémente le numéro de ligne
Loop
End Sub
Private Sub Cbounitédetravail_Change()
'initialisation des variables
i = 3
'on vide la liste déroulante des phase d'activité afin de ne pas cumuler les enregistrements
frmrecherche.Cbophaseactivité.Clear
'On retire les couleurs de remplissage des en-tetes
Sheets("feuil2").Range("c3,i3").Interior.ColorIndex = Clear
'on boucle pour récupérer chacunes des phase d'activité de l'ut sélectionné
Do While Cells(3, i).Value <> ""
'on test que l'unité de travail dans la liste déroulante soit identique
If Cells(3, i).Value = Cbounitédetravail.Value Then
'si oui
'on sélectionne la cellule de la région
Cells(3, i).Select
'on y ajoute une couleurde remplissage
ActiveCell.Interior.ColorIndex = 32
'on récupère son positionnement par le numéro de la colonne
colonne = ActiveCell.Column
End If
i = i + 1 'on incrémente le numéro de colonne
Loop
'on initialise à 3 le numéro de la ligne, la première phase d'activité se retrouve en ligne3
j = 3
'on boucle les lignes pour récupérer les phase d'aactivité de chaque unité
Do While Cells(j, colonne).Value <> ""
'On charge les phases d'activité dans la liste déroulante des phase d'activités
frmrecherche.Cbophaseactivité.AddItem Cells(j, colonne)
j = j + 1 'on incrémente le numéro de ligne
Loop
End Sub
'procédure permettant de charger les noms des unités de travail dans la première liste déroulante au chargement du formulaire
Private Sub UserForm_Initialize()
' initialisation des variables
colonne = 3 ' affectation du numéro de colonne à 3 car première donnée en colonne c
'on efface la couleur de remplissage des en-tetes de colonnes, ici les unités de travail
Sheets("feuil2").Range("c3:i3").Interior.ColorIndex = Clear
'on réalise une boucle qui va charger les noms des regions dans la liste
Do While Cells(3, colonne).Value <> ""
' tant qu'il ya des valeurs dans les colonnes
frmrecherche.Cbounitédetravail.AddItem Cells(3, colonne).Value
colonne = colonne + 1 ' On incrémente le numéro de colonne
Loop
End Sub