Aide VBA

bonsoir le Forum,

j'ai besoin de vous pour corriger ma macro.

je voudrais pourvoir que si ma cellule L88 est à "vrai" la cellule F69 est à "refus banc du" et que la cellule F102 = "Estimation" la cellule L121 à faux je mets 96 dans la feuille calcul en D49 et efface le format des cellules A, E et F 33 sans couleur de fond.

Désolé, pas facile à expliquer mon histoire

je joint la macro ci-dessous ainsi qu'un fichier qui j'espère aidera. merci pour votre aide. je pense que c'est à partir du 3ème Else que ça bloc

'Active la CheckBox "L121" Kit 1B
Sub Kit1B_L121()
        ThisWorkbook.Sheets("calcul").Unprotect Password:=""
                        If Worksheets("Enquête").Range("F102") = "Valeurs banc du" And [L88] = True Then Exit Sub
                    If Worksheets("Enquête").Range("F102") = "Estimation" And [L121] = True Then
                If Worksheets("Enquête").Range("F69") = "1er retour usine le" And [L88] = False _
            Or Worksheets("Enquête").Range("F69") = "Refus banc du" And [L88] = False Then
        Feuil2.Cells(33, 4).Value = -96
    Feuil2.Range("A33:F33").Interior.Color = RGB(192, 192, 190)
End If
            Else
            Feuil2.Cells(33, 4).ClearContents
        Feuil2.Range("A33,E33,F33").Interior.Color = xlNone
    Feuil2.Range("B33,C33,D33").Interior.Color = RGB(192, 192, 190)

                    'Si on est en retour usine ou refus banc et que le kit est déjà existant on n'applique pas les -96g

                If Worksheets("Enquête").Range("F102") = "2ème retour usine le" And [L121] = True _
            Or Worksheets("Enquête").Range("F102") = "Refus banc du" And [L121] = True _
        Or Worksheets("Enquête").Range("F102") = "Valeurs banc du" And [L121] = True Then
    Feuil2.Range("A33:F33").Interior.Color = RGB(192, 192, 190)

            Else
            Feuil2.Cells(33, 4).ClearContents
        Feuil2.Range("A33,E33,F33").Interior.Color = xlNone
    Feuil2.Range("B33,C33,D33").Interior.Color = RGB(192, 192, 190)
End If

                        If Worksheets("Enquête").Range("F102") = "Estimation" And [L121] = False _
                    And Worksheets("Enquête").Range("F69") = "Refus banc du" And [L88] = True Then
                Feuil2.Cells(49, 4).Value = 96
            Feuil2.Range("A49:F49").Interior.Color = RGB(192, 192, 192)
        Feuil2.Range("A33,E33,F33").Interior.Color = xlNone
    Feuil2.Cells(33, 4).ClearContents

            Else
            Feuil2.Cells(49, 4).ClearContents
        Feuil2.Range("A49,E49,F49").Interior.Color = xlNone
    Feuil2.Range("B49,C49,D49").Interior.Color = RGB(192, 192, 192)
    End If

    End If
    ThisWorkbook.Sheets("calcul").Protect Password:=""
    'ThisWorkbook.Sheets("calcul").Activate
End Sub[code]

[/code]

Avec le fichier c'est mieux

2test-pskyl1.xlsm (153.55 Ko)

Bonjour,

c'est plus facile à lire comme ça, mais sans fichier pour tester, difficile dans dire plus,

Sub Kit1B_L121()
ThisWorkbook.Sheets("calcul").Unprotect Password:=""

If Worksheets("Enquête").Range("F102") = "Valeurs banc du" And [L88] = True Then Exit Sub

If Worksheets("Enquête").Range("F102") = "Estimation" And [L121] = True Then

        If Worksheets("Enquête").Range("F69") = "1er retour usine le" And [L88] = False _
            Or Worksheets("Enquête").Range("F69") = "Refus banc du" And [L88] = False Then
            Feuil2.Cells(33, 4).Value = -96
            Feuil2.Range("A33:F33").Interior.Color = RGB(192, 192, 190)
        End If
Else
        Feuil2.Cells(33, 4).ClearContents
        Feuil2.Range("A33,E33,F33").Interior.Color = xlNone
        Feuil2.Range("B33,C33,D33").Interior.Color = RGB(192, 192, 190)

        'Si on est en retour usine ou refus banc et que le kit est déjà existant on n'applique pas les -96g

        If Worksheets("Enquête").Range("F102") = "2ème retour usine le" And [L121] = True _
            Or Worksheets("Enquête").Range("F102") = "Refus banc du" And [L121] = True _
            Or Worksheets("Enquête").Range("F102") = "Valeurs banc du" And [L121] = True Then
            Feuil2.Range("A33:F33").Interior.Color = RGB(192, 192, 190)

        Else
            Feuil2.Cells(33, 4).ClearContents
            Feuil2.Range("A33,E33,F33").Interior.Color = xlNone
            Feuil2.Range("B33,C33,D33").Interior.Color = RGB(192, 192, 190)
        End If

        If Worksheets("Enquête").Range("F102") = "Estimation" And [L121] = False _
            And Worksheets("Enquête").Range("F69") = "Refus banc du" And [L88] = True Then
            Feuil2.Cells(49, 4).Value = 96
            Feuil2.Range("A49:F49").Interior.Color = RGB(192, 192, 192)
            Feuil2.Range("A33,E33,F33").Interior.Color = xlNone
            Feuil2.Cells(33, 4).ClearContents

        Else
            Feuil2.Cells(49, 4).ClearContents
            Feuil2.Range("A49,E49,F49").Interior.Color = xlNone
            Feuil2.Range("B49,C49,D49").Interior.Color = RGB(192, 192, 192)
        End If

End If
ThisWorkbook.Sheets("calcul").Protect Password:=""
'ThisWorkbook.Sheets("calcul").Activate
End Sub

merci pour ta réponse. j'ai mis le fichier après le premier post

Rechercher des sujets similaires à "aide vba"