AIDE SUR VBA

bonjour à 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, après chaque sasie, mon pc "mouline". Pouvez-vous m'aider ? voici le code que j'ai saisi :

Private Sub Worksheet_Change(ByVal Target As Range)

'Macro christophe

If Range("f9") = 0 Then

Sheets("offre FCL").Rows("44:45").Hidden = True

Else: Sheets("offre FCL").Rows("44:45").Hidden = False

End If

If Range("f10") = 0 Then

Sheets("offre FCL").Rows("46:47").Hidden = True

Else: Sheets("offre FCL").Rows("46:47").Hidden = False

End If

If Range("f11") = 0 Then

Sheets("offre FCL").Rows("48:49").Hidden = True

Else: Sheets("offre FCL").Rows("48:49").Hidden = False

End If

If Range("f12") = 0 Then

Sheets("offre FCL").Rows("50:51").Hidden = True

Else: Sheets("offre FCL").Rows("50:51").Hidden = False

End If

If Range("f13") = 0 Then

Sheets("offre FCL").Rows("52:53").Hidden = True

Else: Sheets("offre FCL").Rows("52:53").Hidden = False

End If

If Range("f14") = 0 Then

Sheets("offre FCL").Rows("54:55").Hidden = True

Else: Sheets("offre FCL").Rows("54:55").Hidden = False

End If

If Range("f15") = 0 Then

Sheets("offre FCL").Rows("56:57").Hidden = True

Else: Sheets("offre FCL").Rows("56:57").Hidden = False

End If

If Range("f16") = 0 Then

Sheets("offre FCL").Rows("58:59").Hidden = True

Else: Sheets("offre FCL").Rows("58:59").Hidden = False

End If

If Range("f17") = 0 Then

Sheets("offre FCL").Rows("60:61").Hidden = True

Else: Sheets("offre FCL").Rows("60:61").Hidden = False

End If

If Range("c7") = "OUI" Then

Sheets("offre FCL").Rows("44:61").Hidden = True

Else: Sheets("offre FCL").Rows("42:43").Hidden = True

End If

If Range("f19") = 0 Then

Sheets("offre FCL").Rows("64:65").Hidden = True

Else: Sheets("offre FCL").Rows("64:65").Hidden = False

End If

If Range("f20") = 0 Then

Sheets("offre FCL").Rows("66:67").Hidden = True

Else: Sheets("offre FCL").Rows("66:67").Hidden = False

End If

If Range("f21") = 0 Then

Sheets("offre FCL").Rows("68:69").Hidden = True

Else: Sheets("offre FCL").Rows("68:69").Hidden = False

End If

If Range("f22") = 0 Then

Sheets("offre FCL").Rows("70:71").Hidden = True

Else: Sheets("offre FCL").Rows("70:71").Hidden = False

End If

If Range("f23") = 0 Then

Sheets("offre FCL").Rows("72:73").Hidden = True

Else: Sheets("offre FCL").Rows("72:73").Hidden = False

End If

If Range("f24") = 0 Then

Sheets("offre FCL").Rows("74:75").Hidden = True

Else: Sheets("offre FCL").Rows("74:75").Hidden = False

End If

If Range("c18") = "OUI" Then

Sheets("offre FCL").Rows("64:75").Hidden = True

Else: Sheets("offre FCL").Rows("62:63").Hidden = True

End If

If Range("f26") = 0 Then

Sheets("offre FCL").Rows("78:79").Hidden = True

Else: Sheets("offre FCL").Rows("78:79").Hidden = False

End If

If Range("f27") = 0 Then

Sheets("offre FCL").Rows("80:81").Hidden = True

Else: Sheets("offre FCL").Rows("80:81").Hidden = False

End If

If Range("f28") = 0 Then

Sheets("offre FCL").Rows("82:83").Hidden = True

Else: Sheets("offre FCL").Rows("82:83").Hidden = False

End If

If Range("f29") = 0 Then

Sheets("offre FCL").Rows("84:85").Hidden = True

Else: Sheets("offre FCL").Rows("84:85").Hidden = False

End If

If Range("f30") = 0 Then

Sheets("offre FCL").Rows("86:87").Hidden = True

Else: Sheets("offre FCL").Rows("86:87").Hidden = False

End If

If Range("f31") = 0 Then

Sheets("offre FCL").Rows("88:89").Hidden = True

Else: Sheets("offre FCL").Rows("88:89").Hidden = False

End If

If Range("f32") = 0 Then

Sheets("offre FCL").Rows("90:91").Hidden = True

Else: Sheets("offre FCL").Rows("90:91").Hidden = False

End If

If Range("f33") = 0 Then

Sheets("offre FCL").Rows("92:93").Hidden = True

Else: Sheets("offre FCL").Rows("92:93").Hidden = False

End If

If Range("f34") = 0 Then

Sheets("offre FCL").Rows("94:95").Hidden = True

Else: Sheets("offre FCL").Rows("94:95").Hidden = False

End If

If Range("f35") = 0 Then

Sheets("offre FCL").Rows("96:97").Hidden = True

Else: Sheets("offre FCL").Rows("96:97").Hidden = False

End If

If Range("c25") = "OUI" Then

Sheets("offre FCL").Rows("78:97").Hidden = True

Else: Sheets("offre FCL").Rows("76:77").Hidden = True

End If

If Range("f44") = 0 Then

Sheets("offre FCL").Rows("103:104").Hidden = True

Else: Sheets("offre FCL").Rows("103:104").Hidden = False

End If

If Range("f45") = 0 Then

Sheets("offre FCL").Rows("105:106").Hidden = True

Else: Sheets("offre FCL").Rows("105:106").Hidden = False

End If

If Range("f46") = 0 Then

Sheets("offre FCL").Rows("107:108").Hidden = True

Else: Sheets("offre FCL").Rows("107:108").Hidden = False

End If

If Range("f47") = 0 Then

Sheets("offre FCL").Rows("109:110").Hidden = True

Else: Sheets("offre FCL").Rows("109:110").Hidden = False

End If

If Range("f48") = 0 Then

Sheets("offre FCL").Rows("111:112").Hidden = True

Else: Sheets("offre FCL").Rows("111:112").Hidden = False

End If

If Range("f49") = 0 Then

Sheets("offre FCL").Rows("113:114").Hidden = True

Else: Sheets("offre FCL").Rows("113:113").Hidden = False

End If

If Range("f50") = 0 Then

Sheets("offre FCL").Rows("115:116").Hidden = True

Else: Sheets("offre FCL").Rows("115:116").Hidden = False

End If

If Range("f51") = 0 Then

Sheets("offre FCL").Rows("117:118").Hidden = True

Else: Sheets("offre FCL").Rows("117:118").Hidden = False

End If

If Range("f52") = 0 Then

Sheets("offre FCL").Rows("119:120").Hidden = True

Else: Sheets("offre FCL").Rows("119:120").Hidden = False

End If

If Range("f55") = 0 Then

Sheets("offre FCL").Rows("101:102").Hidden = True

Else: Sheets("offre FCL").Rows("101:102").Hidden = False

End If

If Range("c56") = "OUI" Then

Sheets("offre FCL").Rows("101:120").Hidden = True

Else: Sheets("offre FCL").Rows("121:122").Hidden = True

End If

If Range("f65") = 0 Then

Sheets("offre FCL").Rows("128:129").Hidden = True

Else: Sheets("offre FCL").Rows("128:129").Hidden = False

End If

If Range("f66") = 0 Then

Sheets("offre FCL").Rows("130:131").Hidden = True

Else: Sheets("offre FCL").Rows("130:131").Hidden = False

End If

If Range("f67") = 0 Then

Sheets("offre FCL").Rows("132:133").Hidden = True

Else: Sheets("offre FCL").Rows("132:133").Hidden = False

End If

If Range("f68") = 0 Then

Sheets("offre FCL").Rows("134:135").Hidden = True

Else: Sheets("offre FCL").Rows("134:135").Hidden = False

End If

If Range("f69") = 0 Then

Sheets("offre FCL").Rows("136:137").Hidden = True

Else: Sheets("offre FCL").Rows("136:137").Hidden = False

End If

If Range("f70") = 0 Then

Sheets("offre FCL").Rows("138:139").Hidden = True

Else: Sheets("offre FCL").Rows("138:139").Hidden = False

End If

If Range("f71") = 0 Then

Sheets("offre FCL").Rows("140:141").Hidden = True

Else: Sheets("offre FCL").Rows("140:141").Hidden = False

End If

If Range("f72") = 0 Then

Sheets("offre FCL").Rows("142:143").Hidden = True

Else: Sheets("offre FCL").Rows("142:143").Hidden = False

End If

If Range("f74") = 0 Then

Sheets("offre FCL").Rows("144:145").Hidden = True

Else: Sheets("offre FCL").Rows("144:145").Hidden = False

End If

If Range("f75") = 0 Then

Sheets("offre FCL").Rows("146:147").Hidden = True

Else: Sheets("offre FCL").Rows("146:147").Hidden = False

End If

If Range("f76") = 0 Then

Sheets("offre FCL").Rows("148:149").Hidden = True

Else: Sheets("offre FCL").Rows("148:149").Hidden = False

End If

If Range("f77") = 0 Then

Sheets("offre FCL").Rows("150:151").Hidden = True

Else: Sheets("offre FCL").Rows("150:151").Hidden = False

End If

If Range("f78") = 0 Then

Sheets("offre FCL").Rows("152:153").Hidden = True

Else: Sheets("offre FCL").Rows("152:153").Hidden = False

End If

If Range("f79") = 0 Then

Sheets("offre FCL").Rows("154:155").Hidden = True

Else: Sheets("offre FCL").Rows("154:155").Hidden = False

End If

If Range("f80") = 0 Then

Sheets("offre FCL").Rows("156:157").Hidden = True

Else: Sheets("offre FCL").Rows("156:157").Hidden = False

End If

If Range("f81") = 0 Then

Sheets("offre FCL").Rows("158:159").Hidden = True

Else: Sheets("offre FCL").Rows("158:159").Hidden = False

End If

If Range("f82") = 0 Then

Sheets("offre FCL").Rows("160:161").Hidden = True

Else: Sheets("offre FCL").Rows("160:161").Hidden = False

End If

If Range("c85") = "OUI" Then

Sheets("offre FCL").Rows("126:161").Hidden = True

Else: Sheets("offre FCL").Rows("162:163").Hidden = True

End If

End Sub

merci de vos commentaires avisés

Bonjour,

Eh ben...

Euh, la balise Code, c'est pas en option....

J'ai un "peu" modifié ton code...

Regarde, et dis quoi...

Private Sub Worksheet_Change(ByVal Target As Range)
With Application
    .EnableEvents = False
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
End With
With Sheets("offre FCL")
    .Rows("44:45").Hidden = Range("f9") = 0
    .Rows("46:47").Hidden = Range("f10") = 0
    .Rows("48:49").Hidden = Range("f11") = 0
    .Rows("50:51").Hidden = Range("f12") = 0
    .Rows("52:53").Hidden = Range("f13") = 0
    .Rows("54:55").Hidden = Range("f14") = 0
    .Rows("56:57").Hidden = Range("f15") = 0
    .Rows("58:59").Hidden = Range("f16") = 0
    .Rows("60:61").Hidden = Range("f17") = 0
    .Rows("44:61").Hidden = Range("c7") = "OUI"
    .Rows("42:43").Hidden = Range("c7") <> "OUI"
    .Rows("64:65").Hidden = Range("f19") = 0
    .Rows("66:67").Hidden = Range("f20") = 0
    .Rows("68:69").Hidden = Range("f21") = 0
    .Rows("70:71").Hidden = Range("f22") = 0
    .Rows("72:73").Hidden = Range("f23") = 0
    .Rows("74:75").Hidden = Range("f24") = 0
    .Rows("64:75").Hidden = Range("c18") = "OUI"
    .Rows("62:63").Hidden = Range("c18") <> "OUI"
    .Rows("78:79").Hidden = Range("f26") = 0
    .Rows("80:81").Hidden = Range("f27") = 0
    .Rows("82:83").Hidden = Range("f28") = 0
    .Rows("84:85").Hidden = Range("f29") = 0
    .Rows("86:87").Hidden = Range("f30") = 0
    .Rows("88:89").Hidden = Range("f31") = 0
    .Rows("90:91").Hidden = Range("f32") = 0
    .Rows("92:93").Hidden = Range("f33") = 0
    .Rows("94:95").Hidden = Range("f34") = 0
    .Rows("96:97").Hidden = Range("f35") = 0
    .Rows("78:97").Hidden = Range("c25") = "OUI"
    .Rows("76:77").Hidden = Range("c25") <> "OUI"
    .Rows("103:104").Hidden = Range("f44") = 0
    .Rows("105:106").Hidden = Range("f45") = 0
    .Rows("107:108").Hidden = Range("f46") = 0
    .Rows("109:110").Hidden = Range("f47") = 0
    .Rows("111:112").Hidden = Range("f48") = 0
    .Rows("113:114").Hidden = Range("f49") = 0
    .Rows("115:116").Hidden = Range("f50") = 0
    .Rows("117:118").Hidden = Range("f51") = 0
    .Rows("119:120").Hidden = Range("f52") = 0
    .Rows("101:102").Hidden = Range("f55") = 0
    .Rows("101:120").Hidden = Range("c56") = "OUI"
    .Rows("121:122").Hidden = Range("c56") <> "OUI"
    .Rows("128:129").Hidden = Range("f65") = 0
    .Rows("130:131").Hidden = Range("f66") = 0
    .Rows("132:133").Hidden = Range("f67") = 0
    .Rows("134:135").Hidden = Range("f68") = 0
    .Rows("136:137").Hidden = Range("f69") = 0
    .Rows("138:139").Hidden = Range("f70") = 0
    .Rows("140:141").Hidden = Range("f71") = 0
    .Rows("142:143").Hidden = Range("f72") = 0
    .Rows("144:145").Hidden = Range("f74") = 0
    .Rows("146:147").Hidden = Range("f75") = 0
    .Rows("148:149").Hidden = Range("f76") = 0
    .Rows("150:151").Hidden = Range("f77") = 0
    .Rows("152:153").Hidden = Range("f78") = 0
    .Rows("154:155").Hidden = Range("f79") = 0
    .Rows("156:157").Hidden = Range("f80") = 0
    .Rows("158:159").Hidden = Range("f81") = 0
    .Rows("160:161").Hidden = Range("f82") = 0
    .Rows("126:161").Hidden = Range("c85") = "OUI"
    .Rows("162:163").Hidden = Range("c85") <> "OUI"
End With
With Application
    .EnableEvents = True
    .ScreenUpdating = True
    .Calculation = xlCalculationAutomatic
End With
End Sub

Bon courage

bonjour

tout d'abord, merci pour le code, j'ai fait le test, cela ne marche qu'avec les conditions avec oui sinon pour les autres que la valeur saisie soit 0 ou supérieure à 0, les lignes apparaissent toujours

le principe est le suivant la ligne s'affiche si la valeur correspondante saisie dans l'onglet coutants fcl est supérieure à O sinon la ligne est masquée

amicalement

chb

Re-,

OK,

Remets comme ceci, au niveau des "OUI" :

        If Range("c7") = "OUI" Then
            .Rows("44:61").Hidden = True
        Else
            .Rows("42:43").Hidden = True
        End If

A noter que si la cellule est vide, la condition = 0 est respectée, donc les lignes se masquent...

Bon dimanche

bonjour

je viens de faire le test, sur mon pc familial, ça marche du tonnerre !! sur mon pc professionnel, ça mouline toujours

je vérifie ça au bureau pour mon pc pro

en tout cas, merci pour l'aide

bonne journée

bonsoir

j'ai modifié le code comme cité dans le message précédent, tout fonctionnait parfaitement

sur l'onglet offre FCL, j'ai ajouté des mises en forme conditionnelles et depuis, le fichier mouline dès que l'on saisie une donnée sur l'onglet coutants FCL. je vous ai joint le fichier concerné

quelqu'un peut-il m'aider ?

a vous lire

Rechercher des sujets similaires à "aide vba"