Option Explicit
'pour réinitialiser la macro
Private Sub CommandButton1_Click()
Application.EnableEvents = True
End Sub
'fonction pour masquer les lignes en fonction du type choisi. Les lignes ont reçu des noms, pour que ajout lignes possible
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("data1:data6")) Is Nothing Then
Cells.EntireRow.Hidden = False
Select Case Range("data1")
Case "RECONNAISSANCE DE L'ÉTAT DU SOL (RES)"
Range("E_RES_00,E_ED_00:E_TV_11,D_01:M_06,L_S_13").EntireRow.Hidden = True
Case "ÉTUDE DÉTAILLÉE (ED)"
Range("E_RES_00:E_ED_00,E_ER_00:E_TV_11,D_01:M_06,L_S_13").EntireRow.Hidden = True
Case "ÉTUDE DE RISQUE (ER)"
Range("E_RES_00:E_ER_00,E_RES_ED_ER_00:E_TV_11,D_01:M_06,L_S_13").EntireRow.Hidden = True
Case "RECONNAISSANCE + ÉTUDE DÉTAILLÉE (RES-ED)"
Range("E_RES_00,E_ED_00:E_TV_11,D_01:M_06,L_S_13").EntireRow.Hidden = True
Case "ÉTUDE DÉTAILLÉE + ÉTUDE DE RISQUE (ED-ER)"
Range("E_RES_00:E_ER_00,E_RES_ED_ER_00:E_TV_11,D_01:M_06,L_S_13").EntireRow.Hidden = True
Case "RECONNAISSANCE + ÉTUDE DÉTAILLÉE + ÉTUDE DE RISQUE (RES-ED-ER)"
Range("E_RES_00:E_RES_ED_ER_00,E_PA_PGR_00:E_TV_11,D_01:M_06,L_S_13").EntireRow.Hidden = True
Case "PROJET DE GESTION DE RISQUE (PGR)"
Range("E_RES_00:E_PA_PGR_00,E_PA_PGR_12:E_PA_PGR_17,E_SUIVI_00:E_TV_11,L_S_13").EntireRow.Hidden = True
Case "PROJET DE GESTION DE RISQUE (PGR) + SUIVI"
Range("E_RES_00:E_PA_PGR_00,E_SUIVI_00:E_TV_11,L_S_13").EntireRow.Hidden = True
Case "PROJET D'ASSAINISSEMENT (PA)"
Range("E_RES_00:E_PA_PGR_00,E_PA_PGR_12:E_PA_PGR_17,E_SUIVI_00:E_TV_11,L_S_13").EntireRow.Hidden = True
Case "PROJET D'ASSAINISSEMENT (PA) + SUIVI"
Range("E_RES_00:E_PA_PGR_00,E_SUIVI_00:E_TV_11,L_S_13").EntireRow.Hidden = True
Case "SUIVI DES TRAVAUX (SUIVI)"
Range("E_RES_00:E_SUIVI_00,E_TDL_00:E_TV_11,L_S_13").EntireRow.Hidden = True
Case "TRAITEMENT DE DURÉE LIMITÉE (TDL) + SUIVI"
Range("E_RES_00:E_TDL_00,E_GF_00:E_TV_11,T_FMan_05:T_FMan_06,T_FMan_10,T_FMec_01:T_FMec_15,T_Car_FMan_10,T_Car_FMec_01:T_Car_FMec_10,T_EchE_01:T_EchE_05,T_GEO_07:T_GEO_08,M_03:M_05,L_S_13:L_E_10").EntireRow.Hidden = True
Case "ESTIMATION DU MONTANT DE GARANTIE FINANCIÈRE (GF)"
Range("E_RES_00:E_GF_00,E_TV_00:E_TV_11,X_07:X_10").EntireRow.Hidden = True
Case "RAPPORT TECHNIQUE BRUXELLOIS (RT)"
Range("E_RES_00:E_TV_00,T_FMan_05:T_FMan_06,T_FMan_10,T_FMec_08:T_FMec_12,T_FMec_15,T_Car_FMan_10,T_Car_FMec_09,T_TechS_05:T_TechS_06,T_EchE_01:T_EchE_05,T_GEO_07:T_GEO_08,D_01:M_06,L_E_01:L_E_10").EntireRow.Hidden = True
Case "TECHNISH VERSLAG (TV)"
Range("E_RES_00:E_TV_00,T_FMan_05:T_FMan_06,T_FMan_10,T_FMec_08:T_FMec_12,T_FMec_15,T_Car_FMan_10,T_Car_FMec_09,T_TechS_05:T_TechS_06,T_EchE_01:T_EchE_05,T_GEO_07:T_GEO_08,D_01:M_06,L_E_01:L_E_10").EntireRow.Hidden = True
End Select
Select Case Range("data2")
Case "POSTES STANDARD UNIQUEMENT"
Range("T_FMan_09,T_FMan_10,T_TechS_02,T_TechS_03,T_TechS_05:T_TechS_07,T_GEO_09,T_GEO_12").EntireRow.Hidden = True
End Select
Select Case Range("data3")
Case "SOL"
Range("T_FMan_05,T_FMan_06,T_FMan_10,T_FMec_08:T_FMec_12,T_FMec_15,T_Car_FMan_10,T_Car_FMec_09,T_EchE_01:T_EchE_05,T_GEO_07,T_GEO_08,L_E_01:L_E_10").EntireRow.Hidden = True
Case "EAU"
Range("T_TechS_02:T_TechS_04,L_S_01:L_S_13").EntireRow.Hidden = True
End Select
Select Case Range("data4")
Case "MANUEL"
Range("T_FMec_01:T_FMec_15,T_Car_FMec_01:T_Car_FMec_10").EntireRow.Hidden = True
Case "MECANIQUE"
Range("T_FMan_01:T_FMan_10,T_Car_FMan_01:T_Car_FMan_11").EntireRow.Hidden = True
End Select
Select Case Range("data5")
Case "SANS TRAVAUX DE TERRAIN"
Range("X_07:X_10").EntireRow.Hidden = True
Case "AVEC TRAVAUX DE TERRAIN POUR ER (juste nivellement/perméa)"
Range("T_FMan_01:T_GEO_01,T_GEO_05,T_GEO_09:T_GEO_10,T_GEO_12:T_GEO_13,D_01:X_10").EntireRow.Hidden = True
End Select
'masque de la ligne des sélections d'étude en FR-NL selon choix de la langue
Select Case Range("data6")
Case "FR"
Range("X_02,X_04").EntireRow.Hidden = True
Case "NL"
Range("X_01,X_03").EntireRow.Hidden = True
End Select
End If
'menu dropdown list bilingues. Les cellules avec dropdown ont reçues des noms (dataX). Attention cohérence noms dans les listes (ray etc.) et les 'Case'
Dim ray As Variant, n As Long, ac As Long, Txt As String, nStr As String
Application.EnableEvents = False
ReDim ray(1 To 4, 1 To 2)
ReDim nray(1 To 8, 1 To 2)
If Target.Address = Range("data6").Address Then
ray(1, 1) = "Commande des études de sol antérieures (étude)"
ray(1, 2) = "Bestelling eerdere bodemonderzoeken (studie)"
ray(2, 1) = "Bestelling eerdere bodemonderzoeken (studie)"
ray(2, 2) = "Commande des études de sol antérieures (étude)"
ray(3, 1) = "Commande des études de sol antérieures (dossier)"
ray(3, 2) = "Bestelling eerdere bodemonderzoeken (dossier)"
ray(4, 1) = "Bestelling eerdere bodemonderzoeken (dossier)"
ray(4, 2) = "Commande des études de sol antérieures (dossier)"
Txt = Range("data7").Value
For n = 1 To UBound(ray, 1)
If ray(n, 1) = Txt Then
Txt = ray(n, 2)
Exit For
End If
Next n
Select Case Target.Value
Case "FR": nStr = "Sélectionner étude de sol antérieure (étude vs. dossier),Commande des études de sol antérieures (étude),Commande des études de sol antérieures (dossier)"
Case "NL": nStr = "Sélectionner étude de sol antérieure (étude vs. dossier),Bestelling eerdere bodemonderzoeken (dossier),Bestelling eerdere bodemonderzoeken (studie)"
End Select
With Range("data7").Validation
.Delete
.Add Type:=xlValidateList, Formula1:=nStr
End With
Range("data7").Value = Txt
nray(1, 1) = "Mobilisation carotteuse (< ou = 6 carottages)"
nray(1, 2) = "Mobilisatie kernboormachine (< of = 6 boringen)"
nray(2, 1) = "Mobilisatie kernboormachine (< of = 6 boringen)"
nray(2, 2) = "Mobilisation carotteuse (< ou = 6 carottages)"
nray(3, 1) = "Mobilisation carotteuse (> 6 carottages)"
nray(3, 2) = "Mobilisatie kernboormachine (> 6 boringen)"
nray(4, 1) = "Mobilisatie kernboormachine (> 6 boringen)"
nray(4, 2) = "Mobilisation carotteuse (> 6 carottages)"
nray(5, 1) = "Mobilisation carotteuse (> 15 carottages)"
nray(5, 2) = "Mobilisatie kernboormachine (> 15 boringen)"
nray(6, 1) = "Mobilisatie kernboormachine (> 15 boringen)"
nray(6, 2) = "Mobilisation carotteuse (> 15 carottages)"
nray(7, 1) = "Mobilisation carotteuse (> 20 carottages)"
nray(7, 2) = "Mobilisatie kernboormachine (> 20 boringen)"
nray(8, 1) = "Mobilisatie kernboormachine (> 20 boringen)"
nray(8, 2) = "Mobilisation carotteuse (> 20 carottages)"
Txt = Range("data8").Value
For n = 1 To UBound(nray, 1)
If nray(n, 1) = Txt Then
Txt = nray(n, 2)
Exit For
End If
Next n
Select Case Target
Case "FR": nStr = "Sélectionner carottage,Mobilisation carotteuse (< ou = 6 carottages),Mobilisation carotteuse (> 6 carottages),Mobilisation carotteuse (> 15 carottages),Mobilisation carotteuse (> 20 carottages)"
Case "NL": nStr = "Sélectionner carottage,Mobilisatie kernboormachine (< of = 6 boringen),Mobilisatie kernboormachine (> 6 boringen),Mobilisatie kernboormachine (> 15 boringen),Mobilisatie kernboormachine (> 20 boringen)"
End Select
With Range("data8").Validation
.Delete
.Add Type:=xlValidateList, Formula1:=nStr
End With
Range("data8").Value = Txt
End If
Application.EnableEvents = True
End Sub