XL 2010 Amélioration condition calcul

bredeche

XLDnaute Occasionnel
le tableau recap est rempli via mon userformpri cela fonctionnement
mais j'aimerais rajouter une condition
si dans le tableau sur le même équipement exemple en 2016 note est B et quelle passe A en 2017 et que la case "changement équipement"checkbox1" est pas cocher lors de la validation un message dis "c'est pas possible car l’année dernière la note était inférieur"et cela revient sur l'userform


Code:
enregistrement et protection blocage des donnees'
Private Sub CommandButton1_Click()
Dim l_info As Integer
Dim note_1 As String, note_2 As String, lanote As String
Dim Ws As Worksheet
'protection feuille
Dim cell As Range
                Dim pl As Range
                Worksheets("TABLEAU RECAP").Visible = True
                Worksheets("TABLEAU RECAP").Unprotect ("cedric")
                Sheets("TABLEAU RECAP").Cells.Locked = True
                For Each cell In Sheets("TABLEAU RECAP").Range("M2")
                    If cell.MergeCells = True Then
                        Set pl = cell.MergeArea
                        cell.UnMerge
                        cell.Locked = False
                        pl.Merge
                    Else
                        cell.Locked = False
                    End If
                Next cell
                Worksheets("TABLEAU RECAP").Protect ("cedric"), DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
With ThisWorkbook.Worksheets("TABLEAU RECAP")
l_info = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
     .Range("B" & l_info).Value = ComEQUI 'libelle equipement'
        .Range("c" & l_info).Value = Textlocal 'code local"
        .Range("D" & l_info).Value = ComRESP 'Nom du responsable'
        .Range("E" & l_info).Value = CDate(TextDATEAM) 'date du constat'
        .Range("F" & l_info).Value = CDate(TextMISE) 'date de mise en service'
        .Range("G" & l_info).Value = CInt(TextDUREVIE.Value)  'Duree de vie theorique'
        .Range("H" & l_info).Value = CDate(TextREMPL) 'Date theorique de remplacement '
        .Range("I" & l_info).Value = CInt(TextDURVIERESI.Value)  'Duree de vie residuelle '
        .Range("J" & l_info).Value = TextESTIMREMPL 'Duree de vie residuelle '
        .Range("K" & l_info).Value = CInt(TextRESUETAT.Value) 'note de etat equipement'
        .Range("l" & l_info).Value = CInt(TextRESUCRIT.Value) 'note de criticite equipement'
If CheckBox1.Value Then
'cas case cochee
.Range("p" & l_info).Value = "x"
.Range("q" & l_info).Value = CDate(Textboxdatechange) 'date de remplacement équipement
Else
'cas case non cochee
'rien ?
End If
With .Range("M" & l_info)
                'formulation
                .FormulaR1C1 = "=IF(RC[-2]<=21,""Mauvais"",IF(RC[-2]<=43,""Usuel"",IF(RC[-2]<=64,""Bon"")))"
                'équivaut à un collage spécial valeur
                .Value = .Value
                note_1 = .Value
         End With
         With .Range("N" & l_info)
                'formulation
                .FormulaR1C1 = "=IF(RC[-2]<=21,""Faible"",IF(RC[-2]<=43,""Moyenne"",IF(RC[-2]<=64,""Forte"")))"
                'équivaut à un collage spécial valeur
                .Value = .Value
                note_2 = .Value
         End With
        Select Case True
                    Case note_1 = "Mauvais" And note_2 = "Faible"
                            lanote = "B"
                    Case note_1 = "Mauvais" And note_2 = "Moyenne"
                            lanote = "C"
                    Case note_1 = "Mauvais" And note_2 = "Forte"
                            lanote = "C"
                     Case note_1 = "Usuel" And note_2 = "Faible"
                            lanote = "A"
                    Case note_1 = "Usuel" And note_2 = "Moyenne"
                            lanote = "B"
                    Case note_1 = "Usuel" And note_2 = "Forte"
                            lanote = "B"
                     Case note_1 = "Bon" And note_2 = "Faible"
                            lanote = "A"
                    Case note_1 = "Bon" And note_2 = "Moyenne"
                            lanote = "A"
                    Case note_1 = "Bon" And note_2 = "Forte"
                            lanote = "A"
        End Select
        .Range("O" & l_info).Value = lanote
Set Ws = ThisWorkbook.Worksheets("Donné équipement")
l_info = Ws.Cells.Find(ComEQUI.Value, , , xlWhole).Row
       Ws.Range("G" & l_info).Value = lanote
End With
Me.hide
Unload UserFormpri
End Sub
 

bredeche

XLDnaute Occasionnel
j ai rajouté cette parti du code mais cela inscrit quand meme ma ligne dans mon tableau
moi je ne veux pas je veux revenir a mon userform et qu'il reprenne leur erreur.
Code:
If .Range("O" & l_info).Value <> lanote And CheckBox1.Value = False Then
Msgbox("Note différente de  l'année dernière")
Else
...
End if
 

Discussions similaires

Réponses
4
Affichages
191

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260