Probleme code VBA
Bonsoir à toutes et à tous,
sur un fichier qui dispose de deux onglets "coutants FCL" et "Offre FCL", j'ai créé un code en VBA qui a pour principe général d'afficher ou de masquer les lignes selon la valeur saisie (cad supérieure à 0), mais, je pense qu'il y a un problème car cela ne fonctionne pas, voici le code :
Private Sub Worksheet_Change(ByVal Target As Range)
With Application
.EnableEvents = False
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
With Sheets("offre FCL")
.Rows("42:43").Hidden = Range("d15") = 0
.Rows("44:45").Hidden = Range("d16") = 0
.Rows("46:47").Hidden = Range("d17") = 0
.Rows("48:49").Hidden = Range("d18") = 0
.Rows("50:51").Hidden = Range("d19") = 0
.Rows("52:53").Hidden = Range("d20") = 0
.Rows("54:55").Hidden = Range("d21") = 0
.Rows("56:57").Hidden = Range("d22") = 0
.Rows("58:59").Hidden = Range("d23") = 0
.Rows("60:61").Hidden = Range("d25") = 0
.Rows("62:63").Hidden = Range("d26") = 0
.Rows("64:65").Hidden = Range("d27") = 0
.Rows("66:67").Hidden = Range("d28") = 0
.Rows("68:69").Hidden = Range("d29") = 0
.Rows("70:71").Hidden = Range("d30") = 0
.Rows("72:73").Hidden = Range("d32") = 0
.Rows("74:75").Hidden = Range("d33") = 0
.Rows("76:77").Hidden = Range("d34") = 0
.Rows("78:79").Hidden = Range("d35") = 0
.Rows("80:81").Hidden = Range("d36") = 0
.Rows("82:83").Hidden = Range("d37") = 0
.Rows("84:85").Hidden = Range("d38") = 0
.Rows("86:87").Hidden = Range("d39") = 0
.Rows("88:89").Hidden = Range("d40") = 0
.Rows("90:91").Hidden = Range("d41") = 0
If Range("c44") = "OUI" Then
Sheets("offre FCL").Rows("41:91").Hidden = True
Else: Sheets("offre FCL").Rows("41:91").Hidden = False
End If
.Rows("95:96").Hidden = Range("d47") = 0
.Rows("97:98").Hidden = Range("d51") = 0
.Rows("99:100").Hidden = Range("d52") = 0
.Rows("101:102").Hidden = Range("d53") = 0
.Rows("103:104").Hidden = Range("d54") = 0
.Rows("105:106").Hidden = Range("d55") = 0
.Rows("107:108").Hidden = Range("d56") = 0
.Rows("109:110").Hidden = Range("d57") = 0
.Rows("111:112").Hidden = Range("d58") = 0
.Rows("113:114").Hidden = Range("d59") = 0
If Range("c63") = "OUI" Then
Sheets("offre FCL").Rows("94:114").Hidden = True
Else: Sheets("offre FCL").Rows("94:114").Hidden = False
End If
.Rows("120:121").Hidden = Range("d67") = 0
.Rows("122:123").Hidden = Range("d68") = 0
.Rows("124:125").Hidden = Range("d69") = 0
.Rows("126:127").Hidden = Range("d70") = 0
.Rows("128:129").Hidden = Range("d71") = 0
.Rows("130:131").Hidden = Range("d72") = 0
.Rows("132:133").Hidden = Range("d73") = 0
.Rows("134:135").Hidden = Range("d74") = 0
.Rows("136:137").Hidden = Range("d76") = 0
.Rows("138:139").Hidden = Range("d77") = 0
.Rows("140:141").Hidden = Range("d78") = 0
.Rows("142:143").Hidden = Range("d79") = 0
.Rows("144:145").Hidden = Range("d80") = 0
.Rows("146:147").Hidden = Range("d81") = 0
.Rows("148:149").Hidden = Range("d82") = 0
.Rows("150:151").Hidden = Range("d83") = 0
.Rows("152:153").Hidden = Range("d84") = 0
If Range("c87") = "OUI" Then
Sheets("offre FCL").Rows("120:153").Hidden = True
Else: Sheets("offre FCL").Rows("120:153").Hidden = False
End If
.Rows("157:175").Hidden = Range("b95") = 0
.Rows("167:173").Hidden = Range("b97") = 0
End With
With Application
.EnableEvents = True
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End Sub
merci de votre aide
slts
chb
bonjour,
Non YAPA de problème la macro fait exactement ce que tu lui demandes :
Si les cellules C44, C63 et C87 sont = "OUI" les lignes correspondantes sont masquées ou non.
le reste du code (avant chaque if) ne sert à rien : Hidden ou pas, c'est le "if" qui s'appliquera juste après qui décide...
A+